2015-12-11 131 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

相关问题