【问题标题】:How to handle ConnectException: Connection refused - Java如何处理 ConnectException:连接被拒绝 - Java
【发布时间】:2016-03-22 11:44:56
【问题描述】:

我正在尝试使用 Jsoup 解析一些 url,但我收到此错误:

java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

这是我的代码:

public Elements getLinks(String link){
    Document doc = null;
    Elements links = null;
    try {
        doc = Jsoup.connect(link)
                 .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
                 .referrer("http://www.google.com") 
                 .timeout(5000) //it's in milliseconds, so this means 5 seconds.              
                 .get();

        links = doc.select("a[href]");
    }  
    catch (ConnectException e){
        e.printStackTrace();
    }
    catch (UnsupportedMimeTypeException e){
        e.printStackTrace();
    }
    catch (SocketTimeoutException e){
        e.printStackTrace();
    }
    catch (SSLException e) {
        e.printStackTrace();
    }
    catch (IOException e) {
        if(e.getCause() instanceof SocketTimeoutException) {
            try {
                throw new SocketTimeoutException();
            } catch (SocketTimeoutException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
   }
        e.printStackTrace();
    }

    return links;
}

我有一个 ConnectException 的 catch 部分,但我的程序停止了。有什么想法可以解决这个问题吗?

【问题讨论】:

  • 那么你期待什么?服务器拒绝了连接,您对此无能为力。你应该能够连接到它吗?你有正确的协议(http/https)吗?
  • 我不想连接,我只想让我的程序不要停止。我不在乎有损坏的 URL。
  • 这个方法不会停止你的程序。它只会打印堆栈跟踪并返回 null。如果你的程序的其余部分不能处理这个问题,那么问题就在那里。
  • 谢谢,就是这个问题
  • 请使用multicatch使您的代码更具可读性。

标签: java jsoup connectexception


【解决方案1】:

Kayaman提出的答案:

这个方法不会停止你的程序。它只会打印堆栈跟踪并返回 null。如果你的程序的其余部分不能处理这个问题,那么问题就在那里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2021-10-04
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多