我正在使用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庫。 –