python+requests实现from-data接口类型自动化
如何将from-data的接口类型自动化
1、先通过postman将from-data接口类型调通,在去看代码的实现过程
从code中可以清晰的看到在代码请求的过程中有一个headers、data、files参数上传。一般from-data的接口类型区别在于多了一个files参数,需要抓包或手工调通之后看代码的实现过程中有哪些相关的参数。
2、代码通过files参数来实现:
直接用files参数传入不需要更新from-data的头部信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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 rif __name__ = = '__main__' :<br> s = requests.Session() - - 使用requests库里面的session会话,将token更新到头部,便于下个接口的使用<br> s.headers.update(headers)<br> base_url = '域名' <br> result = add_file_1(s, base_url)<br> print (result.text) |
如何将登录后的token取出更新到头部可以参考这篇博客。https://www.cnblogs.com/xdsa/p/15230735.html
分类:
python接口自动化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix