使用POST和身份验证的请求中的curl代码等效

时间:2014-01-29 13:09:39

标签: curl python-requests

对于以下curl调用(按预期工作)

curl -D - -X POST -s -d 'user=USER&password=PASS' -H 'Accept: application/xml' "url"

我试过

headers = {'Accept': 'application/xml'}
response = requests.post("url", auth=('USER', 'PASS'), headers=headers).text
但是得到了    回复[401]

我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

curl中的

-d表示基于密钥配对值的POST数据(content-type application/x-www-form-urlencoded)。所以它应该是:

params = {'user': 'USER', 'pass': 'PASS'}
headers = {'Accept': 'application/xml'}
response = requests.post("http://localhost/post.php", data=params, headers=headers).text