huc.connect() löst die Ausnahme aus. Die Stack-Trace unten ist, was gedruckt wird. Wenn ich die URL durch Hinzufügen von www ändern, so ist die Zeichenfolge "http://www.sas.com/store/books", dann funktioniert es gut. Ich habe versucht, den Verbindungstimeout bis zu einer Minute zu erhöhen, aber die Timeout-Ausnahme wurde immer noch ausgelöst. Hat jemand irgendwelche Ideen, warum das passiert?Eine java.net.ConnectException wird ausgelöst, wenn HttpURLConnection verwendet wird
try
{
URL u = new URL("http://sas.com/store/books");
HttpURLConnection huc = (HttpURLConnection)u.openConnection();
huc.connect();
}
catch(IOException e)
{
e.printStackTrace();
}
Stack-Trace:
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:996)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:932)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:850)
at support.Test.main(Test.java:22)
Wenn die www-URL funktioniert gut, warum Sie es nicht verwenden? – Zircon
Ich bekomme keine Ausnahme, wenn ich den Code ausführen, den Sie gepostet haben. Es gibt jedoch einen signifikanten Unterschied zwischen den beiden URLs, da die URL ohne WWW einen HTTP-Code 301 vor der Weiterleitung an die URL mit dem www erstellt. –