Python请求模块Put问题

Python请求模块Put问题,python,python-2.7,http-request,python-requests,Python,Python 2.7,Http Request,Python Requests,我在使用请求模块发送put时遇到问题。我已经成功地完成了get,并且使用了一个针对Chrome的高级Rest客户端,我已经验证了我的负载是正确的。但是,我收到一个一般性错误,说我发送了一个错误的请求。我不熟悉web服务调用,我不确定我所做的是否完全错误,但这正是我正在尝试的: import requests payload = {'payload': '<request>some request xml</request>'} headers = {'content-ty

我在使用请求模块发送put时遇到问题。我已经成功地完成了get,并且使用了一个针对Chrome的高级Rest客户端,我已经验证了我的负载是正确的。但是,我收到一个一般性错误,说我发送了一个错误的请求。我不熟悉web服务调用,我不确定我所做的是否完全错误,但这正是我正在尝试的:

import requests
payload = {'payload': '<request>some request xml</request>'}
headers = {'content-type': 'application/xml'}

r = requests.put('https://the.url', data=payload, auth=HTTPBasicAuth('user', 'password'), headers=headers)
导入请求
有效负载={'payload':'some request xml'}
headers={'content-type':'application/xml'}
r=请求。put('https://the.url,data=payload,auth=HTTPBasicAuth('user','password'),headers=headers)
我100%知道XML、URL和凭据是正确的,那么为什么上面的操作不起作用呢?我能想到的唯一一件事是,有效载荷的关键需要是一些特定的东西,但我不确定这是否正确,或者如何确定它应该是什么


在深入研究我发现的这一tid信息之后,响应是“HTTP状态400-错误请求”:

很多时候,您希望发送未进行表单编码的数据。如果您传入一个字符串而不是dict,则该数据将直接过帐

我最初确实试过这个,但显然我有一个打字错误,因为我得到的错误表明我需要通过口述

不管怎样,传递直接的XML而不是字典解决了这个问题