rog*_*ger 5 python params python-requests
我正在使用python requests模块,我之前发送过这样的参数:
requests.post(url=url, params=params)
Run Code Online (Sandbox Code Playgroud)
但是今天,我发现我像这样发送数据,但失败了,我改成这样:
requests.post(url=url, data=params)
Run Code Online (Sandbox Code Playgroud)
那没关系,data和和有params什么区别?
我观察到请求有一个标头X-Requested-With:XMLHttpRequest,是因为这个吗?
根据请求文档, a requests.post(url, data=data)将发出HTTP POST请求,而requests.get(url, params=params)进行HTTP GET的a将在URL中传递参数,例如。
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)
print(r.url)
Run Code Online (Sandbox Code Playgroud)
版画
该文档params在处理GET和dataPOST时使用。这就是区别;GET与POST。
首先,有两种不同的方法:
requests.post() 发出 POST 请求(将所有参数放在正文中)requests.get() 发出 GET 请求(将所有参数放在 URL 中)然后,根据 docs,您可以在两个参数之间进行选择以发送所有键/值数据:
params=, 没有字符串修改。data=,对参数应用表单编码字符串修改。因此,您有 4 种选择来发送您的请求:
requests.post(url, params=)requests.post(url, data=)requests.get(url, params=)requests.get(url, data=)我认为目前接受的答案不正确。他实际上是在谈论requests.post()但requests.get()在他自己的例子中使用。
| 归档时间: |
|
| 查看次数: |
3055 次 |
| 最近记录: |