我在尝试通过Eclipse 3.6中的代理连接时遇到问题。代理支持NTLM和Basic Auth方案。
Eclipse似乎更喜欢NTLM身份验证方案,而不是基本方案。但是,选择完成后,代理似乎挂起,Eclipse将永久重试下载。使用wireshark来监控我可以看到的流量:
这种情况发生了3次,然后代理停止响应,Eclipse重试下载,直到我点击取消。
有没有办法告诉Eclipse尝试Basic Auth而不是NTLM?
祝你好运, 曼努埃尔。
答案 0 :(得分:1)
我不知道Basic Auth,但是关于NTLM代理,请查看bug 281384,也在bug 281472详细讨论。
它引入了workaround for NTLMv2 Proxies。
-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient
-Dhttp.proxyPort=8080
-Dhttp.proxyHost=myproxy
-Dhttp.proxyUser=mydomain\myusername
-Dhttp.proxyPassword=mypassword
-Dhttp.nonProxyHosts=localhost|127.0.0.1
第一个属性禁用httpclient提供程序(因此使用基于
URLConnection
的提供程序,它确实支持NTLMv2代理),
接下来的5个属性是Sun为基于URLConnection
的提供商指定的。
答案 1 :(得分:1)
问题是标准的Eclipse HTTP客户端无法管理如此命名的HTLM代理。 @VonC提出的方法在Kepler版本的Eclipse之前是好的。
诀窍是关闭Eclipse HTTP客户端。但从开普勒开始,它的名字已经改变了。将以下内容添加到eclipse.ini文件中:
-vmargs
-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4
另请查看here以获得非常好的解释,并here查看"官方" Eclipse团队的解释。
您不需要在eclipse.ini中设置代理参数。 Windows-preferences-General-Net中的设置就足够了。但是你应该检查操作系统上的全局代理设置,注意可能的自动设置。