gpt4 book ai didi

java - 网站关闭时会引发哪种异常?

转载 作者:行者123 更新时间:2023-11-30 06:57:22 25 4
gpt4 key购买 nike

我正在使用 jsoup 从网站上抓取数据。我想知道当我抓取数据的网站关闭时会抛出哪个异常。
SocketExceptionNoHttpResponseException 还是其他异常?
我读到,当服务器收到请求但未能响应请求时,会引发 NoHttpResponseException ,这是正确的吗?

最佳答案

我测试了我们自己的网站,在关闭 Tomcat 后,我​​得到以下 java.net.SocketTimeoutException:

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.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668)
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.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:563)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:540)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:227)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:216)
at testing.Test.main(Test.java:19)

这是我使用的代码:

public static void main(String[] args) {
try {
Document document = Jsoup.connect("https://example/folder").validateTLSCertificates(false).timeout(1000).get();
System.out.println(document);
} catch (Exception e) {
e.printStackTrace();
}
}

NoHttpResponseException 似乎是一个 apache httpclient 异常(org.apache.commons.httpclient.NoHttpResponseException)。由于 Jsoup 没有 apache 依赖项,SocketTimeoutException 可能就是答案。

关于java - 网站关闭时会引发哪种异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41555318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com