Windows上带有python的自动NTLM
问题内容:
如何在Windows上通过python使用自动NTLM身份验证?
我希望能够从Windows访问TFS REST API而不用硬编码我的密码,就像从Web浏览器(例如firefox的network.automatic-
ntlm-auth.trusted-uris)一样。
问题答案:
我发现此答案对我非常有用,因为:
- 我只打算从Windows运行它,所以可移植性不是问题
- 响应是一个简单的json文档,因此无需存储打开的会话
它使用WinHTTP.WinHTTPRequest.5.1 COM对象本地处理身份验证:
import win32com.client
URL = 'http://bigcorp/tfs/page.aspx'
COM_OBJ = win32com.client.Dispatch('WinHTTP.WinHTTPRequest.5.1')
COM_OBJ.SetAutoLogonPolicy(0)
COM_OBJ.Open('GET', URL, False)
COM_OBJ.Send()
print(COM_OBJ.ResponseText)