使用python requests.post函数时出现错误请求错误400

时间:2013-11-08 15:50:19

标签: python python-2.7 http-post python-requests http-status-code-400

我正在尝试通过Python的请求库发出一个简单的帖子请求,并且我得到一个错误的请求错误(400),而我的url被认为是正确的,因为我可以用它来执行get。 我是非常新的REST请求,我阅读了很多教程和文档,但我想还有一些我没有得到的东西,所以我的错误可能是基本的。也许对我应该通过POST发送的网址类型缺乏了解。这是我的代码:

import requests
v_username = "username"
v_password = "password"
v_headers = {'content-type':'application/rdf+xml'}
url = 'https://my.url'
params = {'param': 'val_param'}
payload = {'data': 'my_data'}
r = requests.post(url, params = params, auth=(v_username, v_password), data=payload, headers=v_headers, verify=False)
print r

我使用了请求文档的示例。

1 个答案:

答案 0 :(得分:3)

我有类似的问题,我尝试将params更改为数据或使用json.dumps():

from json import dumps

r = requests.post(url, params=dumps(params), auth=(v_username, v_password), data=payload, headers=v_headers, verify=False)

r = requests.post(url, data=dumps(params), auth=(v_username, v_password), data=payload, headers=v_headers, verify=False)