有些接口参数是一个文件格式,比如fiddler 抓包参数如下显示
这个接口的 form-data fiddler 显示的和不带文件参数的接口有明显区别,显示的不是简单的键值对,所以我们也不能只通过 data给接口传参,需要再value为<file>的参数通过 files传参
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
data = { "csrfname" : “csrfname”, "csrftoken" : “csrftoken”, "importtype" : "xml" , "hit_criteria" : "name" , "action_on_duplicated_name" : "generate_new" , "userecursion" : "0" , "bintoproject" : "0" , "containerid" : "4956" , "max_file_size" : "409600" , "uploadfile" : "上传文件" } files = { "uploadedfile" : open (file_name, "rb" )} r = session.post(url = url, data = data, files = files) |
这样我们通过requests 再次请求接口,通过fiddler 抓包,验证一下requests的请求是不是和原始的请求一致。
fiddler 显示的form data和原始请求一致,说明我们请求参数是正确的。
以上这篇python requests 库请求带有文件参数的接口实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/wuchenlhy/article/details/81164950