网站开发弹窗制作山南网站建设
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:38
当前位置: 首页 > news >正文
网站开发弹窗制作,山南网站建设,dnf免做卡领取网站,文件目录模板wordpress一、接口关联
postman的接口
postman的接口关联配置#xff1a;js代码#xff0c;重点在于思路。
// 定义jsonData这个变量 接受登录接口的返回结果
var jsonData JSON.parse(responseBody);
// 从返回结果里提取token/id值#xff0c;并赋值给token/id变量值作为环境变…一、接口关联
postman的接口
postman的接口关联配置js代码重点在于思路。
// 定义jsonData这个变量 接受登录接口的返回结果
var jsonData JSON.parse(responseBody);
// 从返回结果里提取token/id值并赋值给token/id变量值作为环境变量
pm.globals.set(token,jsonData.access_token)
pm.globals.set(type,jsonData.token_type)关于这个工具具体的详细使用 参数化 断言 CSV批量等 都可以
二、接口鉴权 – 鉴别用户权限
鉴权鉴定是否有权限访问。 要做鉴权的原因是 http协议本身是无状态【无记忆】的。每个http请求之间是没有关系的。 所以解决方案就是手动加上用户的凭证信息。方案主要有两种 cookie和session机制 配套存在的两个概念 token机制
cookie和session网站用的比较多-web–ERP项目案例 cookie是一门客户端技术一般是由服务器生成返回给浏览器客户端来保存的并且cookie是以键值对的形式保存在浏览器客户端的每一个cookie都会有名称值过期时间…。cookie有很多使用场景在项目中比较常见的有 1.登录记住用户名 2.记录用户浏览记录
Cookie过期时间
日期时间 开发设置的过期时间会话期间浏览器关闭 cookies失效了。
Http协议是无状态的Session是一种让请求从无状态变成有状态的机制session是服务端的会话技术当用户登录了系统服务器端的就会创建一个会话此会话中可以保存登录用户的信息。 思考问题 在cookies和session机制有一个角色比较累 服务器很累存在很多用户的session。– 存储压力 这种机制淘汰。
token机制适用于任何的前端-L4mall项目案例–替换更好的机制更主流。
session机制的缺陷: 服务器存储很多用户的会话信息 需要很多空间存储 成本高。替代的方案就是token机制
token的意思是“令牌”是服务端生成的加密后一串字符串作为客户端进行请求的一个标识。 服务器 不存储会话加密【签名】令牌签名: 需要加密算法 秘钥而这些只有服务器知道用于后续的验证token的真实性 token一般通过消息体某字段返回给客户端 token也有时效性 失效时间 看开发定义。 通过加密和解密计算计算的成本 换取存储成本。
面试题token和session,cookies有什么区别优劣势
token-更加主流可以适用于任何的前端 1-客户端发起登录请求并且登录成功之后服务端生成一段加密之后的字符串客户端会将此字符串设置在请求头里面并且再去发送需要权限的请求 2-token不用服务器存储会话解决了服务器存储的压力但是每次校验都需要解密计算也消耗CPU资源用计算成本换取存储成本。 3-适用于各种形态的应用包括web app等。
cookiesession网站用的比较多 1- 客户端发起登录请求并且登录成功之后服务端生成session会话并且生成一个session id与之对应服务端会将session id设置在响应头set-cookie客户端自动识别set-cookie响应头字段并且将其值保存到本地的cookie中之后如果需要权限就只需要从cookie中取出来session id即可 2-服务器需要存储会话信息有很大的存储压力。 3-适用于web应用cookies存储再浏览器里比较容易丢失。
接口鉴权的步骤
第一步通过登录接口获取权限令牌。
服务端返回权限令牌给客户端 每次登录令牌值都不一样。
第二步在接下来的每一个请求当中都带上权限令牌。
以什么样的形式带上开发人员决定可以是请求头带 或者请求体带 开发封装接口的时候决定形式。
做接口测试第一步要解决的问题项目是什么样的鉴权方式。
postman工具如何处理鉴权
在登录之后的接口做数据提取token存储在环境变量里后续接口需要用再调用 {{变量名}}
// 定义jsonData这个变量 接受登录接口的返回结果
var jsonData JSON.parse(responseBody);
// 从返回结果里提取token/id值并赋值给token/id变量值作为环境变量
pm.globals.set(token,jsonData.access_token)
pm.globals.set(type,jsonData.token_type)Python代码如何处理鉴权
requests是Python中简单好用的HTTP库【第三方库】可以模拟客户端向服务器发送请求。 第一步安装pip install requests 第二步引入模块import requests 第三步操作发起一个请求(get,post)
import requests# 第一步 执行登录接口
url_login http://shop.lemonban.com:8107/login
param {principal:lemon_py,credentials:12345678,appType:3,loginType:0}
response requests.request(methodpost,urlurl_login,jsonparam) # 这种更加通用 重点掌握。
login_resp response.json() # 字典格式# 第二步 获取登录结果里token,赋值给变量
token login_resp[access_token]
token_type login_resp[token_type]# 第三步 上传接口里调用这个变量– 在请求头里传token值进去
url http://shop.lemonban.com:8107/p/file/upload
file_obj {file:(py65图片,open(tricy.png,rb))} # 文件参数
header {Authorization:f{token_type}{token}} # 请求头 拼接token变量
res requests.request(methodpost,urlurl,filesfile_obj,headersheader)
print(res.text)
1.1 发送GET请求 -搜索接口
requests.get(url, paramsNone, kwargs)url 接口地址params查询参数为可选参数该参数是一个字典类型kwargs其他可选参数如headersfilescookiesauthtimeoutjson等 注意1 必须要关键字名字一致 因为要名字一致才能被服务器认识注意2要用字典格式传输
import requests
urlhttp://mall.lemonban.com:8107/search/searchProdPage
params {prodName:phone}
response requests.get(urlurl,paramsparams)
print(response) # Response对象可以获取详细信息
print(response.status_code) # 获取响应状态码
print(response.headers) #获取响应头
print(response.text) #获取响应数据
print(response.json()) # 把json格式的响应数据转换成python字典
print(http响应头中的cookies,dict(response.cookies)) # 获取cookie1.2 发送POST请求– 登录接口 参数有data 和json 这是因为post请求发送的参数在请求体请求数据的格式我们上节课讲过有三种比较主流的类型分别用来传参的关键字是不一样的。
requests.post(url, dataNone, jsonNone, **kwargs)【application/json】 – 电商项目的登录接口 json传参需要用到json参数 默认就会content-type 等于application/json这个头部都可以不传。
import requests
post请求 –application/json
urlhttp://shop.lemonban.com:8107/login params {principal:lemon_py,credentials:12345678,appType:3,loginType:0} response requests.post(urlurl,jsonparams) print(response) # Response对象可以获取详细信息 print(response.status_code) # 获取响应状态码 print(response.headers) #获取响应头 print(response.text) #获取响应数据 print(response.json()) # 把json格式的响应数据转换成python字典 print(http响应头中的cookies,dict(response.cookies)) # 获取 cookie【application/x-www-form-urlencoded】 - ERP项目的登录接口url编码传参需要用到data参数进行传参 import requests
post请求- form-data
params {loginame:admin,password:e10adc3949ba59abbe56e057f20f883e} url http://erp.lemfix.com/user/login response requests.post(urlurl,dataparams) print(response) # Response对象可以获取详细信息 print(response.status_code) # 获取响应状态码 print(response.headers) #获取响应头 print(response.text) #获取响应数据 print(response.json()) # 把json格式的响应数据转换成python字典 print(http响应头中的cookies,dict(response.cookies)) # 获取 cookie【multipart/form-data】— 上传文件接口这个接口需要鉴权 当我们需要传输大容量的数据到服务端时比如上传文件我们通常使用multipart/form-data传参类型 在requests中通过指定files参数用来处理文件上传的files参数的值也必须是字典字典的内容如下 {name: (filename,文件对象(open打开),媒体类型(Content-Type))} name是你传的是啥 开发定义的名字参数的名字 filename 可以自己定义上传的文件的名字 不用跟真实的名字一样 抓包就是直接用的文件名字然后会显示在数据库里filename字段里。 不加 就默认用文件本身的名字。 媒体类型content-type也可以不加 其实就是MIME类型但是可以不加 可以自动识别识别文件媒体类型。 注意事项不需要加content-type因为files这个参数默认就会用multipart/form-data 这个格式传输上传文件接口数据类型是这个 import requests url http://shop.lemonban.com:8107/p/file/upload method post file_obj {file:(pythontest.png, open(code.png, rb), image/jpeg)} res requests.request(method,url,filesfile_obj) print(res.text)但是报错是因为没有鉴权。 处理接口鉴权 上传文件接口需要用户先登录再操作所以上传之前先登录。提取登录后返回的token提取token 的方法 用json()转化为字典格式再用字典取值 jsonpath 再给上传接口使用。 import requests #登录接口 urlhttp://shop.lemonban.com:8107/login params {principal:lemon_py,credentials:12345678,appType:3,loginType:0} response requests.request(methodpost,urlurl,jsonparams) token response.json()[access_token] print(token) url http://shop.lemonban.com:8107/p/file/upload method post file_obj {file:(pythontest.png, open(tricy.png, rb))} head {Authorization:bearertoken} res requests.request(methodpost,urlurl,filesfile_obj,headershead) print(res.text)cookies鉴权 cookies鉴权 session相关的。 如果我登录用session发送后续所有的都在用这同一个session里操作那么我就可以自动带上的登录cookies 不需要手动传。代码实现 不用requests库 直接发送接口请求用实例化的Session类。import requests# 实例化操作 session requests.Session()# ERP项目登录 url http://erp.lemfix.com/user/login param {loginame:test123,password:e10adc3949ba59abbe56e057f20f883e} res session.request(methodpost,urlurl,dataparam)
res requests.request(methodpost,urlurl,dataparam)
print(res.text)# 添加角色接口 url http://erp.lemfix.com/role/add param {info:{name:333}} resp session.request(methodpost,urlurl,dataparam)
resp requests.request(methodpost,urlurl,dataparam)
print(resp.text)requests设置代理抓包 让Fiddler能够抓取到requests代码发送过来的请求调试利器 proxies { “http”:“http://ip:端口号”}如果请求发送不成功可以设置fiddler作为代理抓包查看。 proxies {http:http://192.168.0.104:8887} requests.get(url, proxiesproxies)定位问题小技巧 如果接口请求发送失败了那么可以设置代理引导fiddler可以在fiddler里查看请求信息 定位问题 proxies { http:http://ip:端口号}import requestsproxies {http:http://192.168.31.25:8887}# 本地ip,fiddler上的拦截端口 url http://erp.lemfix.com/user/login #项目地址 param {loginame:test123,password:e10adc3949ba59abbe56e057f20f883e} #登陆信息res requests.request(methodpost,urlurl,dataparam,proxiesproxies) print(res.text) requests库 发送各种接口的请求 get post请求 各种参数类型 json 表单格式 等 requests发送接口请求之后的结果是响应消息。 注意 在requests库里除了url和请求方法之外其他的数据都要用字典的格式传输。 传参的方式 1、get请求params 接受 2、post请求content-type的类型有关系。 application/json格式数据json关键字接受参数application/x-www-form-urlencodeddata关键字接受参数 import requests# post 请求 –请求的四大要素,登录接口 application/json格式数据json关键字接受参数 url_login http://shop.lemonban.com:8107/login param {principal:lemon_py,credentials:12345678,appType:3,loginType:0} header {Content-Type:application/json; charsetUTF-8}
json参数接受那么content-type的头部可以不传。# response requests.post(urlurl,jsonparam,headersheader)
response requests.request(methodpost,urlurl_login,jsonparam) # 这种更加通用 重点掌握。 print(response) # Response对象可以获取详细信息 print(response.status_code) # 获取响应状态码 print(response.headers) #获取响应头 print(response.text) #获取响应数据 –响应体字符串格式 print(response.json()) # 把json格式的响应数据转换成python字典–响应体字典格式# get请求 – 搜索接口, 如果请求方法是get方法 参数就是params接受
url_search http://shop.lemonban.com:8107/search/searchProdPage?prodName真皮圆筒包
resp requests.request(methodget,urlurl_search)url_search http://shop.lemonban.com:8107/search/searchProdPage
param {prodName:真皮圆筒包}
resp requests.request(methodget,urlurl_search,paramsparam)
print(resp.text)
发送各种接口的请求 get post请求 各种参数类型 json 表单格式 等
requests发送接口请求之后的结果是响应消息。
注意 在requests库里除了url和请求方法之外其他的数据都要用字典的格式传输。
传参的方式 1、get请求params 接受 2、post请求content-type的类型有关系。
application/json格式数据json关键字接受参数,content-type的头部不需要传 默认就是jsonapplication/x-www-form-urlencodeddata关键字接受参数content-type的头部不需要传 默认就是formmultipart/form-data支持文件/图片等传输 ,一般都是文件 图片上传接口 import requests#application/x-www-form-urlencodeddata关键字接受参数 –ERP项目url http://erp.lemfix.com/user/login
param {loginame:test123,password:e10adc3949ba59abbe56e057f20f883e}
res requests.request(methodpost,urlurl,dataparam)
print(res.text)
发送各种接口的请求 get post请求 各种参数类型 json 表单格式 等
requests发送接口请求之后的结果是响应消息。
注意 在requests库里除了url和请求方法之外其他的数据都要用字典的格式传输。
传参的方式 1、get请求params 接受 2、post请求content-type的类型有关系。
application/json格式数据json关键字接受参数,content-type的头部不需要传 默认就是jsonapplication/x-www-form-urlencodeddata关键字接受参数content-type的头部不需要传 默认就是formmultipart/form-data支持文件/图片等传输 ,一般都是文件 图片上传接口 – 二进制流的格式传输的 – 需要files关键字接受 文件参数。 - 文件参数也要用字典的格式表示 {name: (filename,文件对象(open打开),媒体类型(Content-Type))} name是你传的是啥 开发定义的名字参数的名字filename可以自己定义上传的文件的名字 不用跟真实的名字一样 抓包就是直接用的文件名字然后会显示在数据库里filename字段里。 不加 就默认用文件本身的名字。媒体类型content-type也可以不加 其实就是MIME类型但是可以不加 可以自动识别识别文件媒体类型。
但是如此执行接口报错 “error”:“unauthorized” 因为这个接口需要token鉴权。
但是是登录之后才能操作的接口都需要鉴权。 登录之前接口不需要。 import requests# 上传接口 multipart/form-data支持文件/图片等传输 ,一般都是文件 图片上传接口 files接受参数url http://shop.lemonban.com:8107/p/file/upload
file_obj {file:open(tricy.png,rb)} # 文件参数
file_obj {file:(py65图片,open(tricy.png,rb),image/jpeg)} # 文件参数 res requests.request(methodpost,urlurl,filesfile_obj) print(res.text)问题 1、fiddler代理设置不成功的设置了代理就接口发送不通的把代理的IP地址设置为127.0.0.1【本机回环地址】 2、get请求方法参数接受用params关键字 post请求参数接受用data或者json关键字 data 当参数格式是表单格式的json 当参数格式是json格式的 文件上传接口 用files关键字接受 3、json文件格式化输出 快捷键 alt ctrl L
- 上一篇: 网站开发大约多少钱网页版云游戏
- 下一篇: 网站开发到上线需要多久推广普通话ppt
相关文章
-
网站开发大约多少钱网页版云游戏
网站开发大约多少钱网页版云游戏
- 技术栈
- 2026年03月21日
-
网站开发大体流程图wordpress没有登录按钮
网站开发大体流程图wordpress没有登录按钮
- 技术栈
- 2026年03月21日
-
网站开发大体流程图wordpress安装遇到FTP
网站开发大体流程图wordpress安装遇到FTP
- 技术栈
- 2026年03月21日
-
网站开发到上线需要多久推广普通话ppt
网站开发到上线需要多久推广普通话ppt
- 技术栈
- 2026年03月21日
-
网站开发的编程语言山东智慧团建官网
网站开发的编程语言山东智慧团建官网
- 技术栈
- 2026年03月21日
-
网站开发的标准流程千图网免费素材图库名片
网站开发的标准流程千图网免费素材图库名片
- 技术栈
- 2026年03月21日
