0

这个错误很常见,我发现这个错误有几个命中。但是,找不到我的问题的解决方案。

我正在尝试使用 Python 中的请求模块来使用 REST API(不是公开可用的 API 之一)。但是,API 使用规范表明我使用 URIContent-type = 'application/xml'和 body调用 POST 方法"<authCommand><userID> </userID><password> </password></authCommand>"

我在 Python 中使用请求尝试了这个: r1 = requests.post('https://abc.360.net/rest/auth/1/login.xml',data= None, auth=('sdm@company.com','*********'), headers = {'content-type':'application/xml'})

当我运行它时,我收到一个错误的请求错误。

这是正确的方法吗?为什么我会收到此错误?

4

1 回答 1

0

auth argument is to set Authorization header (basic http authentication by default). The API expects credentials in the body:

r = request.post(url, data=xml, headers={'Content-Type': 'application/xml'})

where xml=b"<authCommand><userID>sdm@company.com</authCommand>...".

于 2013-06-11T23:26:36.767 回答