使用requests访问SSRS时遇Error Code 401错误的解决方法
使用requests访问SSRS时401认证问题(已解决)
- 此前发帖因未附代码已删除,现说明问题:尝试用requests模块访问SSRS数据库,需用户名密码身份验证。硬编码用户名密码时能得到200响应码,但通过系统凭据获取用户名和密码时,始终返回401错误,即便两者信息一致。
相关代码如下:
import os, time import win32cred username = os.environ.get('USERNAME') credential = win32cred.CredRead('domain\abc', win32cred.CRED_TYPE_GENERIC, 0) # domain\abc placeholder password = credential.get('CredentialBlob').decode('utf-16') from requests import Session from requests_ntlm2 import HttpNtlmAuth import ssl session = Session() response = session.get(url='https://something.com//Reports/report/Bill%20Of%20Material&rs:Command=Render&rs:Format=EXCEL', verify=ssl.CERT_NONE) if response.status_code == 401: time.sleep(5) session.auth = HttpNtlmAuth(username=username, password=password) response = session.get(url='https://something.com/Reports/report/Bill%20Of%20Material&rs:Command=Render&rs:Format=EXCEL', verify=ssl.CERT_NONE) print(response.status_code) # keeps returning 401 when using system info
- 更新:已找到问题根源,选错了凭据密钥,获取到的密码并非所需,此帖可忽略。
内容的提问来源于stack exchange,提问作者Darth_Yoda
相关产品推荐
相关产品推荐

