Python Requests的PUT请求失败,但cURL正常

1 投票
1 回答
3370 浏览
提问于 2025-04-18 00:33

我想用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)

撰写回答