我在使用 requests 模块发送 put 时遇到问题。我已经能够成功获取并使用适用于 Chrome 的 Advanced Rest Client 我已验证我的有效负载是正确的。但是,我收到一个通用错误,说我发送了一个错误的请求。我是网络服务调用的新手,我不确定我所做的是否完全错误,但这是我正在尝试的:
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)
我知道 100% 的 XML、URL 和凭据是正确的,那么为什么上述方法不起作用?我唯一能想到的是有效载荷的密钥需要是特定的,但我不确定这是否正确或如何弄清楚它应该是什么......
响应是“HTTP 状态 400 - 错误请求”