requests 关于multipart/form-data类型上传文件

有个只是单纯的上传文件的接口抓包截图如下:

对应请求为:

files={'image': ('test.jpg', open(r'C:UsersAdministratorDesktopMiniProgrmTestzz.jpg', 'rb'), 'image/jpg')}
其中'test.jpg'===filename
如果抓包请求中没有filename,就用None,如本文最后那张图。
response = requests.post(url, headers=headers, files=files,cookies=cookies, verify=False)

如果还要同时发送一些其他的信息,对应的格式如下:(这些字段根据对应接口进行修改)

如果要加上filename,None字段改为具体对应的filename

需要注意的是,我将headers请求头里面的content-type属性注释了,如果加上了,则会报错,然后我把这个模拟请求抓包下来看了看,他自动加上了Content-Type: multipart/form-data; boundary=${bound},所以这个boundary应该是上传文件的标识,上传文件的时候content-type会有一个默认值,我们不去指定,也就没问题了

参考:https://blog.csdn.net/qq_39802740/article/details/84257745

原文地址:https://www.cnblogs.com/alantammm/p/11010081.html