作者:热门星座排行榜空间 | 来源:互联网 | 2023-08-20 19:21
如何将from-data的接口类型自动化1、先通过postman将from-data接口类型调通,在去看代码的实现过程 从code中可以清晰的看到在代码请求的过程中有一个heade
如何将from-data的接口类型自动化
1、先通过postman将from-data接口类型调通,在去看代码的实现过程
从code中可以清晰的看到在代码请求的过程中有一个headers、data、files参数上传。一般from-data的接口类型区别在于多了一个files参数,需要抓包或手工调通之后看代码的实现过程中有哪些相关的参数。
2、代码通过files参数来实现:
直接用files参数传入不需要更新from-data的头部信息
def add_file(s, base_url):
"""上传文件"""
url = base_url + "接口路径"
payload = {
"size": 15348,
"file_name": "打卡.xlsx",
"parent_type": "explorer",
"parent_node": "fldcnJUimU0tE3VulyWcVAK48Mh"
}
files = {
"file": (
"打卡.xlsx", open(file_path_1, "rb"), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
}
r = s.post(url, files=files, data=payload)
return r
if __name__ == '__main__':
s = requests.Session() -- 使用requests库里session会话功能,将token更新到头部,便于下个接口调用
s.headers.update(headers)
base_url = '域名'
result = add_file(s, base_url)
print(result.text)
3、通过requests_toolbelt插件来进行编码处理
用requests_toolbelt插件来实现需要传入from-data接口的头部信息,通过传参变量来更新content-type。
def add_file_1(s, base_url):
"""上传文件"""
url = base_url + "接口路径"
payload = MultipartEncoder(
fields={
"size": "15348",
"file_name": "打卡.xlsx",
"parent_type": "explorer",
"parent_node": "fldcnJUimU0tE3VulyWcVAK48Mh",
"file": ("打卡.xlsx", open(file_path_1, "rb"),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
}
)
r = s.post(url, data=payload, headers={"Content-Type": payload.content_type}) --更新from-data的content-type
return r
if __name__ == '__main__':
s = requests.Session() --使用requests库里面的session会话,将token更新到头部,便于下个接口的使用
s.headers.update(headers)
base_url = '域名'
result = add_file_1(s, base_url)
print(result.text)
如何将登录后的token取出更新到头部可以参考这篇博客。https://www.cnblogs.com/xdsa/p/15230735.html