我正在使用Apache HttpClient库连接到url。我在做的网络有一个安全的代理。当我使用java.net包连接到URL我只需要添加HttpClient 4的代理设置不起作用
System.setProperty("http.proxyHost", proxy);
System.setProperty("http.proxyPort", proxyPort);
无代理的用户ID和需要密码才能通过,但是当我试图通过HttpClient的连接我得到407 代理验证错误。我的代码是:
HttpHost proxy = new HttpHost("xyz.abc.com",8080,"http");
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy);
代理是使用NTML authentication.I不想通过用户名和密码。
最近的答案我觉得是计算器: http://stackoverflow.com/questions/6962047/apache-httpclient -4-1-proxy-authentication 我只是认为你的Windows系统的NTLM证书不能从你的java层访问,然后你需要重新认证到代理。我可能错了。 –
首先,我认为HttpClient中没有NTML支持,其次,凭证更改频率很高,所以我不能以这种方式使用。如果它可用于java.net包URLConnect,则可以通过java层访问我的Windows系统的凭证,以便它也可以用于httpclient库。 –