线程“main”java.net.SocketTimeoutException中的异常:在java.net.DualStackPlainSocketImpl.waitForConnect(本机方法)中连接超时

时间:2013-05-20 12:17:27

标签: jsoup

我正在尝试使用Jsoup连接到一个站点,但我继续收到以下错误,我已经在以下xmls中设置了所有内容,“setting.xlm”和“pom.xml”。任何人都可以帮我找出这一切的主要原因。比你这么多。

这是我得到的错误:

Exception in thread "main" java.net.SocketTimeoutException: connect timed out
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75)
    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:157)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:378)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:473)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:203)
    at sun.net.www.http.HttpClient.New(HttpClient.java:290)
    at sun.net.www.http.HttpClient.New(HttpClient.java:306)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:995)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:931)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:849)
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:425)
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:410)
    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:164)
    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:153)
    at com.mycompany.mavenproject1.Facebook.main(Facebook.java:23)
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 16.904s
Finished at: Mon May 20 14:00:03 CAT 2013
Final Memory: 19M/47M
------------------------------------------------------------------------
Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project mavenproject1: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]

2 个答案:

答案 0 :(得分:7)

由于担任代理人,您可能无法访问互联网。

为Jsoup设置代理是the same as for ordinary URL connections on Java

考虑到您的代理位于127.0.0.1且其端口为8182,您可以将其设置为:

System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8182");

如果您尝试通过HTTPS访问,则属性为https.proxyHosthttps.proxyPort

参见工作示例:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class ExampleJSoupProxy {
    public static void main(String[] args) throws Exception {
        System.setProperty("http.proxyHost", "127.0.0.1");
        System.setProperty("http.proxyPort", "8182");

        Document doc = Jsoup.connect("http://stackoverflow.com").get();
        System.out.println("Obtained Title: " + doc.title());
    }
}

输出:

Obtained Title: Stack Overflow

答案 1 :(得分:1)

这似乎不是您的应用程序中的问题。这应该是一个网络问题。

检查您是否可以在浏览器中打开要解析的页面。如果您正在使用代理,请尝试在没有代理的情况下运行您的应用程序,看看它是否解决了问题。