Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure DevOps REST API在使用Python请求时返回HTTP状态203_Python_Azure_Azure Devops_Python Requests - Fatal编程技术网

Azure DevOps REST API在使用Python请求时返回HTTP状态203

Azure DevOps REST API在使用Python请求时返回HTTP状态203,python,azure,azure-devops,python-requests,Python,Azure,Azure Devops,Python Requests,关于Python请求尝试向Azure DevOps REST API进行身份验证并接收HTTP状态203,非权威信息。当查看文本响应时,它只是登录页面的HTML,而不是真正让我登录。我使用了Authorization:Basic,但它似乎不起作用。下面是我的代码示例: 使用Python和请求与Azure DevOps REST API交互 """ 导入base64 将pprint导入为pp 导入请求 以open('ado_pat.txt','r')作为文件: 个人身份验证令牌=file.read

关于Python
请求
尝试向Azure DevOps REST API进行身份验证并接收HTTP状态203,非权威信息。当查看文本响应时,它只是登录页面的HTML,而不是真正让我登录。我使用了
Authorization:Basic
,但它似乎不起作用。下面是我的代码示例:

使用Python和请求与Azure DevOps REST API交互 """ 导入base64 将pprint导入为pp 导入请求 以open('ado_pat.txt','r')作为文件: 个人身份验证令牌=file.read().replace('\n','') PAT_BASE_64=base64.b64编码( b'{PERSONAL_AUTHENTICATION_TOKEN}')。解码('ascii') 集合='COLLECTION\u name' 组织机构_URL=f'https://dev.azure.com/{COLLECTION}' 资源\路径='/\ api/项目?api版本=5.1' 标题={ “授权”:f'Basic{PAT_BASE_64}, “接受”:“应用程序/json” } 尝试: ADO_RESPONSE=requests.get( 组织\ URL+资源\路径,标题=标题) pp.pprint(ADO_响应) pp.pprint(ADO_RESPONSE.text) ADO_响应。为_状态()引发_ 除了requests.exceptions.HTTPError作为错误: pp.pprint(err) 这是我得到的回应:

<Response [203]>
(''\r\n'
,我能够让上面的代码正常工作。这是工作代码的最终结果

使用Python和请求与Azure DevOps REST API交互 """ 导入base64 导入json 将pprint导入为pp 导入请求 以open('ado_pat.txt','r')作为文件: 个人身份验证令牌=file.read().replace('\n','') USERNAME=“” USER\u PASS=USERNAME+“:”+个人身份验证\u令牌 B64USERPASS=base64.b64encode(USER_PASS.encode()).decode() 集合='COLLECTION\u name' 组织机构_URL=f'https://dev.azure.com/{COLLECTION}' 资源\路径='/\ api/securitynamespaces?api版本=5.1' 标题={ “授权”:“基本%s”%B64USERPASS } 尝试: ADO_RESPONSE=requests.get( 组织\ URL+资源\路径,标题=标题) pp.pprint(ADO_响应) pp.pprint(ADO_RESPONSE.text) ADO_响应。为_状态()引发_ 除了requests.exceptions.HTTPError作为错误: pp.pprint(err) 以open('output.json','w')作为文件: file.write(json.dumps(ADO_RESPONSE.json(),indent=4))
API文档似乎没有指定如何正确编码PAT,需要重新编写。

这是否回答了您的问题?我将把代码更新到工作版本。我真正得到的是,M$示例实际上不起作用,也不是很好。感谢您在这里分享您的解决方案,您可以接受它作为答案,这样它可以帮助其他社区成员解决同样的问题,我们可以归档此线程,谢谢。已接受。我以前看过,但我需要等待更长的时间。