有些接口参数是一个文件格式,比如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