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

2024-05-20 21:00:47 发布

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

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

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

  • HttpNtlmSspiAuth在请求中引发异常:

    导入请求 从请求导入HttpNtlmAuth、HttpNtlmSspiAuth

    requests.get(站点url,auth=HttpNtlmSspiAuth())




我做错什么了吗?


Tags: comauth身份验证目标get客户机sessionrequests
2条回答

我自己想出来的。

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

包裹requests-negotiate-sspi对我有用。

我可能对PO也有同样的问题,但我太懒了,无法尝试PO的解决方案并将PO的代码集成到我的代码中。谷歌帮了我一把。如果有人遇到sspi.pyValueError: year 30828 is out of range引发的相同异常,这是python 3.6的一个已知问题。请看这里:Github-Issue

我用python 3.4创建了一个新的conda环境来解决这个问题。然后重新安装一些依赖项以及requests-negotiate-sspi,boom,all works。

相关问题 更多 >