使用python通过API请求vCloud返回406?

2024-04-27 02:18:51 发布

您现在位置:Python中文网/ 问答频道 /正文

基于vCloudAPI文档的用户假设发送下一个查询 POST https://vcloud.example.com/api/sessions Authorization: Basic encoded-credentials Accept: application/*+xml;version=5.5 Response: 200 OK x-vcloud-authorization: cn9uYmdugN8E2j96+5Lqrc3YBvFsEgDHXzyfJrJ/6bM= Content-Type: application/vnd.vmware.vcloud.session+xml;version=5.5

我正试图用python做同样的事情,请看下面的方法

def vcloud_send():
vcloud = requests.Session()
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
result = base64.b64encode(b'user@org:password')
headers = {'Authorization': b"encoded login:password",
           'Accept': 'application/*+xml'}
response = vcloud.request('POST', url='https://host/api/session', headers=headers, verify=False)
return response

我得到406分

<Response [406]>

请告诉我为什么会发生这种情况,原因是什么,因为我希望得到一个内容


Tags: httpsapiapplicationversionresponsesessionpasswordxml