Python请求PUT不起作用,但cURL起作用

Python请求PUT不起作用,但cURL起作用,python,rest,curl,https,python-requests,Python,Rest,Curl,Https,Python Requests,我希望用将数据放入Python中,虽然我得到了响应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]=Pyth

我希望用
数据放入Python中,虽然我得到了
响应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]>
我错过什么了吗?或者可能我在请求库中遇到了错误,比如大约
https


谢谢

在URL中更改一点:

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)

尝试使用
--verbose
选项运行curl,并将请求头与python requestsWorked中的请求头进行比较!我对它进行了一些研究,实际上问题似乎不是将API键添加到URL,而是将数据编码为
{“company[name]:“Python”}
。因此,根据,可以将其作为JSON或字符串。知道我将如何这样做吗:
{company':{'name':'Python'}}
?不确定,但可能类似于
{“company”:{“name”:“Python”}
(如果需要JSON)。明白了。这不起作用(或其他变体),但我认为
{“company[name]:“Python”}
应该可以正常工作。谢谢
r = requests.put(url, data=param)