网站建设与维护合同,h5制作软件是什么,旅游网站建设方,谷歌搜索广告正常的接口自动化基本都是json的格式#xff0c;对于文件上传是一种特殊的格式是表单格式针对这种表单格式在接口自动化中怎么处理#xff0c;主要通过工作中使用的一个实际的例子进行分享
举例#xff1a;web上需要导入一个文件实现相关的功能#xff0c;主要通过两个接口…正常的接口自动化基本都是json的格式对于文件上传是一种特殊的格式是表单格式针对这种表单格式在接口自动化中怎么处理主要通过工作中使用的一个实际的例子进行分享
举例web上需要导入一个文件实现相关的功能主要通过两个接口第一个接口就是将文件进行上传或者上传到指定地点的token第二个借口主要是将这个文件上传到指定的网址 接口1入参-出参 接口2入参-出参 import jsonimport jsonpath
import requestsurl1 https://apigw-sit.ypshengxian.com/request # 接口调用的服务器的地址
url2 https://sit-api-ypsx-resource.ypsx-internal.com/resource/upload # 将文件上传到终端的地址
filename 库存导入模块.xlsx # 文件的地址
filepathE:/testproject/库存导入模版.xlsx
# 请求头的地址
headers1 {app-id: yptb,app-version: 1.0,app-platform: wxApp,Content-Type: text/plain
}
data1 {api: ylp.md.resource.service.getUploadToken, version: 1.0, token: 5dabc95eac7e4520ba96bbe481f785a0,nonce: 145a156d-d72b-11bc-bcbe-6f684dd2dca2, login: 13270719291, params: {fileName: filename}}
#将data数据转换成json格式
data2json.dumps(data1)
# 接口1获取上传的token
res requests.request(methodPOST,urlurl1, datadata2,headersheaders1).json()idtokenjsonpath.jsonpath(res,$..params)[0]
print(idtoken)
idtoken1json.loads(idtoken)[token]
print(idtoken1)
#接口2将文件上传到指定位置
files{file: (库存导入模版.xlsx, open(filepath, rb), application/json) #因为上传的文件是二进制所以要将文件以二进制的方式进行打开}
data2{token: idtoken1}
response requests.request(methodPOST,urlurl2, filesfiles, datadata2).json()
print(response)