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

时间:2016-11-03 17:37:38

标签: python authentication python-requests ntlm sspi

我的目标是通过NTLM和SSPI验证我的客户端使用Python 3.5.2中的请求库(2.11.1),以便用户不必手动输入她的域凭据(用于登录PC)

我找到了以下可能性,但没有一个对我有用:

  • HttpNtlmSspiAuth在请求中引发异常:

    导入请求 来自requests_ntlm导入HttpNtlmAuth,HttpNtlmSspiAuth

    requests.get(site_url,auth = HttpNtlmSspiAuth())

我做错了吗?

2 个答案:

答案 0 :(得分:2)

我自己想出来了。

我适应了请求和python 3这个code以及与Windows SSPI交互的module。你可以得到它here

答案 1 :(得分:1)

包裹requests-negotiate-sspi适合我。

我可能与PO有同样的问题,但我太懒了,不能尝试PO的解决方案并将PO的代码集成到我的。谷歌帮助了我。如果有人遇到从sspi.py ValueError: year 30828 is out of range引发的相同异常,则requests-negotiate-sspi的python 3.6是一个已知问题。见这里:Github-Issue

我通过使用python 3.4创建一个新的conda环境来解决这个问题。然后重新安装一些依赖项以及requests-negotiate-sspi,繁荣,一切正常。