Я использую jsoup для очистки данных с веб-сайтов. Я хочу знать, какое исключение будет выбрано, когда веб-сайт, откуда я очищаю данные, не работает.
Это SocketException
или NoHttpResponseException
или любым другим?
Я читал, что NoHttpResponseException
бросается, когда сервер получает запрос, но он не ответил на него, это правильно?Какое исключение выбрасывается, когда сайт не работает?
1
A
ответ
1
Я проверил наш собственный веб-сайт, после того, как я беру вниз 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
, кажется, апач HttpClient исключение (org.apache.commons.httpclient.NoHttpResponseException
). Поскольку Jsoup не имеет зависимостей apache, вероятно, ответ будет SocketTimeoutException
.
Смежные вопросы
- 1. Какое исключение выбрасывается при делении на ноль?
- 2. Какое исключение выбрасывается при тайм-ауте?
- 3. Почему исключение не выбрасывается?
- 4. Устранение утечки, когда исключение выбрасывается внутри задачи
- 5. Npgsql выбрасывается неверно Исключение
- 6. Connection.open для зависаний неограниченно, исключение не выбрасывается
- 7. ClassCast Исключение выбрасывается
- 8. Ожидаемое исключение не выбрасывается, когда DataView.RowFilter настроен на неправильный фильтр
- 9. onFailure никогда не вызывается, когда исключение выбрасывается на сервере
- 10. Какое исключение или код состояния http, когда сервер не работает
- 11. C# Исключение не выбрасывается после установки
- 12. ConcurrentModificationException выбрасывается, когда она не должна
- 13. Как проверить, что исключение не выбрасывается?
- 14. RejectedExecutionException не выбрасывается немедленно?
- 15. Когда Javascript не работает. Какое еще решение?
- 16. Столб вызовов теряется, когда исключение выбрасывается внутри обработчика jQuery
- 17. Почему происходит утечка памяти, когда исключение выбрасывается из конструктора?
- 18. WCF выбрасывается Исключение Когда размер прошедшего списка большой
- 19. FileNotFoundException не выбрасывается
- 20. Исключение. Когда в JVM заканчивается память, какое исключение будет выбрано?
- 21. Строка не выбрасывается
- 22. Какое исключение вызывает jsoup.element.select()?
- 23. C++ Когда использовать какое (стандартное) исключение?
- 24. Почему выбрасывается исключение, считающееся плохим дизайном?
- 25. Какое исключение?
- 26. PyDev выбрасывается Исключение «Ресурс не существует» При повторном открытии проекта
- 27. NullPointerException не выбрасывается на Lollipop
- 28. Какое исключение бросать, когда поток неожиданно выходит?
- 29. Java Exception не выбрасывается
- 30. тест EasyMock исключение выбрасывается в середине кода
Я думаю, что это должно быть 'RequestTimeoutException', поскольку клиент не может установить соединение за указанный тайм-аут. –
Направьте свою программу на веб-сайт вниз и посмотрите сами. Вот один из них, например: http://cocacola.com:8989/ –