即使我得到相同的異常,即java.net.ConnectException:連接超時:連接,如果我不在代碼中添加代理端口&。
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
at edu.sandip.TestURLConnection.main(TestURLConnection.java:23)
由於您在組織代理後面的組織中執行代碼,因此會發生此異常。
請使用下面的修改代碼。你會得到200 OK作爲responseCode。
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import javax.net.ssl.HttpsURLConnection;
public class TestURLConnection {
/**
* @param args
*/
public static void main(String[] args) {
try{
URL url = new URL("https://www.google.com/");
System.setProperty("https.proxyHost", "XXX.XXX.XXX.XX");
System.setProperty("https.proxyPort", "80");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
//HttpsURLConnection connection = (HttpsURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int code = connection.getResponseCode();
System.out.println("code: "+code);
} catch (Exception e) {
e.printStackTrace();
}
}
}
注: 1.你需要從組織的網絡管理員獲得的ProxyHost IP。 2.您應該使用HttpsURLConnection訪問https URL。
_但它只顯示異常_什麼是異常? –
連接超時。 – anonymous
連接超時不是HTTP響應代碼。根本沒有任何迴應。 – Thilo