|
|
1
45
在没有其他人回答的情况下,这就是我发现的,我希望它对其他人有用。 执行摘要:
更详细的解释使用Windows登录机制进行身份验证的神奇短语是 SSPI . 这是一个很好的谷歌搜索短语。不过,在Java或WGET中,我还没有找到一种使用SSPI进行HTTP代理认证的好方法。 然而, curl (the download tool) 做 支持SSPI,但仅限于某些构建。不幸的是,默认的cygwin构建不是其中之一。您可以通过获取详细的版本信息来了解您的curl版本是否支持SSPI:
如果支持SSPI,将在特性行中提到它。 要获得支持SSPI的Windows版本,我必须转到 http://curl.haxx.se/latest.cgi?卷曲= Win32 SSL 然后将下载选项更改为 Windows、Zip、启用SSL、启用SSPI(7.19.5) .当你读到这个的时候,版本号可能已经改变了。 然后从命令行中静默地失败。从Windows资源管理器运行时,我收到一条关于libeay32.dll丢失的消息。从Windows获取此信息的一种方法是 openssl.org 致 windows version . 这家公司要求捐款以支付带宽成本。另一种方法是从源代码构建自己的代码。 之后,curl使用了以下命令行:
这个
如果只有Cygwin的curl发行版支持SSPI,这一切就容易多了。我现在就去申请。 |
|
|
2
7
请注意,我的编辑包含一个关于-u和-u的不准确假设。我已经提交了更正,但在临时注释中:
因此,第一个命令应该是:
第二个例子,在透明NTLM中:
对不起! |
|
|
3
2
可能有点晚了,但还是想提这个问题。最初的问题通常是询问用户已经登录的Windows上没有密码的NTLM代理身份验证。毫无疑问,curl可以做到这一点,但我想给出另一个选择。 Ntlmaps和cntlm是作为中间代理进行Ntlm身份验证的代理。但是,它们都需要用户/通行证,因为它们主要面向Linux用户。我以前在Windows上使用过这些工具,但对必须向它们提供凭证的相同要求感到恼火。 结果,我写了 Px for Windows 它是一个HTTP代理,与上面的两个类似,但使用SSPI管理公司代理所需的身份验证。您只需要配置代理服务器和端口。对于不能通过诸如PIP和NPM之类的NTLM代理进行通信的现有应用程序,它是有帮助的。 为了开发自己的应用程序,代码还应该帮助您了解如何在Python中以及可能是可以访问SSPI的语言中实现这一点。 |