从Eclipse中删除NTLM

时间:2010-07-06 15:49:09

标签: eclipse

我在尝试通过Eclipse 3.6中的代理连接时遇到问题。代理支持NTLM和Basic Auth方案。

Eclipse似乎更喜欢NTLM身份验证方案,而不是基本方案。但是,选择完成后,代理似乎挂起,Eclipse将永久重试下载。使用wireshark来监控我可以看到的流量:

  • Eclipse正试图通过NTLM
  • 进行身份验证
  • 代理发回407响应。

这种情况发生了3次,然后代理停止响应,Eclipse重试下载,直到我点击取消。

有没有办法告诉Eclipse尝试Basic Auth而不是NTLM?

祝你好运, 曼努埃尔。

2 个答案:

答案 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中的设置就足够了。但是你应该检查操作系统上的全局代理设置,注意可能的自动设置。