Python请求库不发送正确的参数

时间:2016-07-08 14:47:12

标签: python python-requests

我正在向API发送帖子请求。 API期望原始格式的参数。

headers = {"content-type" : "application/json"}
url = "http://test.web.com/web_api/CreateHeader"
params = {"param1" : "asd", "param2" : "asdd"}
r = requests.post(url, data = json.dumps(params), headers = headers, auth = HTTPBasicAuth('user', 'pass'))
r.json()

此处帖子请求返回失败。但是,如果我发送这样的参数:

params ="{\n   \"param1\" : \"asd\", \"param2\" : \"asdd\"\n}"
r = requests.post(url, data = params, headers = headers, auth = HTTPBasicAuth('user', 'pass'))

成功了。你们知道这里发生了什么吗?

1 个答案:

答案 0 :(得分:-1)

根据您的描述,API似乎期望数据为json,所以

r = requests.post(url, json=params, headers=headers)

应该有用。