2015-12-11 133 views
0

我有以下代碼Java異常java.net.SocketTimeoutException:連接超時

public static void main(String[] args) { 
    Connection connection = Jsoup.connect("http://prospective.bryantschools.org/"); 
    connection.timeout(5000); 

    Document doc; 
    try { 


     doc = Jsoup.connect("http://prospective.bryantschools.org/").get(); 

     // get page title 
     String title = doc.title(); 
     System.out.println("title : " + title); 

     // get all links 
     Elements links = doc.select("a[href]"); 
     for (Element link : links) { 

      // get the value from href attribute 
      System.out.println("\nlink : " + link.attr("href")); 
      System.out.println("text : " + link.text()); 

     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

} 

而且我收到以下錯誤

java.net.SocketTimeoutException: connect timed out 
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) 
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) 
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
at java.net.Socket.connect(Socket.java:589) 
at sun.net.NetworkClient.doConnect(NetworkClient.java:175) 
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:1168) 
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104) 
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:998) 
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:932) 
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:512) 
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:493) 
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:205) 
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:194) 
at com.example.kaleb.testjsoup.HTMLParserExample1.main(HTMLParserExample1.java:25) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) 

我環顧四周,許多人都提到這可能是因爲服務器的防火牆阻止了我的請求。是否有任何其他原因爲什麼我會得到這些例外?在我的代碼中有什麼我在處理這些異常?

回答

1

嘗試Jsoup.connect(url).userAgent("Mozilla").get();。我們的網絡服務器阻止了它,因爲它沒有用戶代理並阻止非真人看待的請求。

+0

顯然這是客人使用的無線網絡,這是阻止我的流量。我現在在不同的wifi上,我的程序無一例外地運行。我測試了你給我的代碼,它在客人wif上工作 – kalebkeen

相關問題