如何使用Python请求执行NTLM SSPI身份验证?

如何使用Python请求执行NTLM SSPI身份验证?,python,authentication,python-requests,ntlm,sspi,Python,Authentication,Python Requests,Ntlm,Sspi,我的目标是通过SSPI对使用Python 3.5.2到NTLM中的请求库(2.11.1)的客户端进行身份验证,这样用户就不必手动输入她的域凭据(用于登录PC) 我发现了以下几种可能性,但没有一种适合我: 在请求中引发异常: 导入请求 从请求\u ntlm导入HttpNtlmAuth、HttpNtlmSspiAuth get(site\u url,auth=HttpNtlmSspiAuth()) 总是得到401: 导入请求 从请求\u sspi\u ntlm导入HttpNtlmAuth 会

我的目标是通过SSPI对使用Python 3.5.2到NTLM中的请求库(2.11.1)的客户端进行身份验证,这样用户就不必手动输入她的域凭据(用于登录PC)

我发现了以下几种可能性,但没有一种适合我:

  • 在请求中引发异常:

    导入请求 从请求\u ntlm导入HttpNtlmAuth、HttpNtlmSspiAuth

    get(site\u url,auth=HttpNtlmSspiAuth())


  • 总是得到401:

    导入请求 从请求\u sspi\u ntlm导入HttpNtlmAuth

    会话=请求。会话() session.auth=HttpNtlmAuth() session.get(“”)


  • 并在请求中触发异常:

    导入请求 从请求\u协商\u sspi导入HttpNegotiateAuth

    r=requests.get(“”,auth=HttpNegotiateAuth())


我做错什么了吗?

这个软件包适合我

我可能对PO也有同样的问题,但我太懒了,没有尝试PO的解决方案,也没有将PO的代码集成到我的解决方案中。谷歌帮了我的忙。如果任何人遇到从sspi.py
ValueError引发的相同异常:30828年超出范围
,这是python 3.6的一个已知问题。请看这里:

我通过使用Python3.4创建一个新的conda环境来解决这个问题。然后重新安装一些依赖项以及
请求协商sspi
,boom,所有工作正常

你没有告诉我们你在做什么。“没有一个对我有用”不是问题。