postman的post请求使用form-data格式上传文件
postman发送post请求,有的情况需要发送form-data格式的数据
python的requests 实现form-data文件上传
- post请求一般是json格式的情况居多,例如:
header = {
'Content-Type': 'application/json', #header写入必要的请求头内容
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
}
json_data = {
'XXX': XXX, #json_data写入json数据
'XXX': XXX,
}
response = requests.post(url, data=data, headers=headers)
- post请求使用form-data表单形式提交数据,例如:
header = {
#'Content-Type': 'application/json',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
}
data = {
'XXX': XXX #data写入数据
}
file = {'file': open('D:\test.png', 'rb')} #读取文件
response = requests.post(url, data=data, files=file, headers=headers)
注意:
form-data上传文件时需要把header中的Content-Type注释掉,post的files参数已经内置了headers的值
如果不去掉会报错
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))