我正在实施 NTLMv2 身份验证。使用 activestate python 2.7.5.6。来自https://code.google.com/p/python-ntlm/的NTLM在 urllib2 中似乎存在一个错误,因为通过具有身份验证的代理访问 https url 没有成功通过http://bugs.python .org/issue7291。
File "/usr/lib/python2.7/urllib2.py", line 1121, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error Tunnel connection failed: 407 Proxy
Authentication Required>
This is because HTTPConnection::_tunnel() in httplib.py doesn't send
Proxy-Authorization header.
我们面临的 Python 错误在 python 2.6.X 中报告,修复也是 python 2.7.6 ( http://www.python.org/getit/releases/2.7.6/ ) 的一部分,它是在 2.7 之后发布的.5.6. 这是根据 2.7.6 的发行说明。(http://hg.python.org/cpython/raw-file/99d03261c1ba/Misc/NEWS)-错误#7291(http://bugs.python.org /issue7291 ) 在 2.7.6 的发行说明中被错误地称为 7231。虽然描述是正确的。- 我检查了源代码并没有在 python 2.7.6 中看到此问题的代码更改,尽管发行说明说错误修复是发行的一部分。我对提到的提交进行了交叉检查(http://bugs.python.org/file20824/http_proxy_https.patch) 在错误跟踪系统中打开的问题中。- 目前 ActiveState python 不支持 python 2.7.6 ( http://www.activestate.com/activepython/downloads ) (2.7.6 于 2013 年 11 月 10 日发布)
所以需要选择哪个版本的python,或者有没有其他方法可以在python中实现NTLMv2。