方法1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import requests
url = "http://www.xxxx.net/login"
#参数拼凑,附件上传格式如picurl参数,其他表单参数值拼成tuple格式:
2 - tuples (filename, fileobj),
3 - tuples (filename, fileobj, contentype),
4 - tuples (filename, fileobj, contentype, custom_headers)
files = { "username" : ( None , "billy" ), "password" : ( None , "abcd1234" ),
'picUrl' : ( 'pic.png' , open ( 'E:\\download\\pic.png' , 'rb' ), 'image/png' )}
#如需headers,不需要赋值Content-Type,不然可能会报错
res = requests.post(url, files = files)
print res.request.body
print res.request.headers
|
方法2:
安装requests_toolbelt
pip install requests-toolbelt
实现代码
a.发送文件中的数据
1
2
3
4
5
6
7
8
9
|
from requests_toolbelt import MultipartEncoder
import requests
m = MultipartEncoder(
fields = { 'field0' : 'value' , 'field1' : 'value' ,
'field2' : ( 'filename' , open ( 'file.py' , 'rb' ), 'text/plain' )},
)
r = requests.post( 'http://httpbin.org/post' , data = m,
headers = { 'Content-Type' : m.content_type})
|
b.不需要文件
1
2
3
4
5
|
from requests_toolbelt import MultipartEncoder
import requests
m = MultipartEncoder(fields = { 'field0' : 'value' , 'field1' : 'value' })
r = requests.post( 'http://httpbin.org/post' , data = m,
headers = { 'Content-Type' : m.content_type})
|
以上这篇python处理multipart/form-data的请求方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/hqzxsc2006/article/details/80756406