用python请求传递参数的问题

时间:2019-10-13 02:13:27

标签: python-3.x python-requests

我曾经尝试过使用post方法使用python-requests从网站获取数据。但是,在检查“请求”有效负载时,它显示如下:

Content-Type: multipart/form-data; boundary=---------------------------7952717927472
Content-Length: 5372

-----------------------------7952717927472
Content-Disposition: form-data; name="id"

13529
-----------------------------7952717927472
Content-Disposition: form-data; name="num"


-----------------------------7952717927472
Content-Disposition: form-data; name="dowhat"

error
-----------------------------7952717927472
Content-Disposition: form-data; name="coupoun"

$ 2.00
-----------------------------7952717927472

我不了解请求有效负载的格式,以及如何将有效负载与请求一起传递。

response=requests.post(url, data = data)

1 个答案:

答案 0 :(得分:0)

是的,我终于明白了。请使用MultiparEncoder查看以下代码

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})

这很好用