我創建一個服務,通過互聯網發佈的東西,一切都很好。但是當我將它部署到我們的服務器時,我得到連接狀態:403,禁止。我認爲這是因爲我們的服務器不允許直接訪問互聯網,而無需先登錄。我們必須首先在瀏覽器中用我們的用戶名/密碼登錄才能訪問互聯網。在Java中設置代理
我注意到,如果我登錄並訪問服務器中的互聯網,我部署的服務運行正常。但我不認爲這很實際,因爲在那種情況下,如果有人或我不先登錄,我的服務將無法運行。
我曾嘗試在java代碼中設置代理,但無濟於事。有人可以幫我解決這個問題嗎?這裏是我張貼我的服務片段。
System.getProperties().put("http.proxySet", "true");
System.getProperties().put("http.proxyHost", myHost);
System.getProperties().put("http.proxyPort", "8080");
System.getProperties().put("http.proxyUser", myUser);
System.getProperties().put("http.proxyPassword", myPassword);
System.getProperties().put("http.nonProxyHosts", "localhost|127.0.0.1");
try {
URL url = new URL(urlAddress);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
con.setDoInput(true);
...
if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
System.out.println("connection OK");
istrm = con.getInputStream();
if (istrm == null) {
System.out.println("istrm == null");
}
...
} else {
System.out.println("Response: " + con.getResponseCode() + ", " + con.getResponseMessage());
}
}
而我處理轉到別的塊,並得到響應消息403
http.proxySet是一個城市神話。它沒有效果。 – EJP 2012-04-11 18:59:44