python requests函数处理文件上传
问题: 如何使用python的requests函数来发送一个“文件上传”的接口?
一:首先得打开文件,
file = {'文件参数名': open('文件路径', 'rb')}
“文件路径”好理解, 但是“文件参数名”从哪里获取呢?可以抓包获取,抓你上传文件的接口, 它的请求参数里面有“文件参数名”,如下图:name=“file”, “file”就是文件参数名
------WebKitFormBoundaryUmPCjzSLIEzUMtH8 Content-Disposition: form-data; name="file"; filename="aaa.xlsx" Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ------WebKitFormBoundaryUmPCjzSLIEzUMtH8--
二:发送文件上传接口
import requests url = '接口地址' head = '请求头' data = '请求体' # 所上传的文件 file = {'文件参数名': open('文件路径', 'rb')} # 发送请求,如果请求头和请求体没有数据, 可以直接传None res = requests.post(url=url, headers=head, data=data, files=file)
三:注意事项
1. 发送(文件上传)接口时,Content-Type: application/json;UTF-8 这个参数不要传进请求头, 否则会报错
2. 上传的文件可以是图片、文件、视频等等....