Python Requests的PUT请求失败,但cURL正常
我想用Python和Requests库把数据发送到Pipeline Deals API,虽然我得到了一个Response 200
的回应,但数据实际上并没有成功发送。用cURL
发送同样的请求时却能成功。以下是我用Python写的代码,但它不管用:
param = {'api_key': 'MY API KEY'}
url = "https://api.pipelinedeals.com/api/v3/companies/14634816.json"
r = requests.put(url, params=param, data="company[name]=Python")
print r
--> <Response [200]>
而当我运行这段cURL
代码时,它是可以工作的:
curl --X PUT -d "company[name]=cURL" \
"https://api.pipelinedeals.com/api/v3/companies/14634816.json?api_key=SAME_API_KEY"
我是不是漏掉了什么?或者说我可能碰到了Requests库的一个bug,比如和https
有关的?
谢谢!
1 个回答
2
把一个小部分改成网址:
url = "https://api.pipelinedeals.com/api/v3/companies/14634816.json?api_key=MY_API_KEY"
然后是参数:
param = {"company[name]":"Python"}
现在来看看 PUT
方法
r = requests.put(url, data=param)