Java скачать любую страницу - в том числе 404, страницы с сообщениями об ошибках? - PullRequest
0 голосов
/ 18 декабря 2011

Я использовал URLconnection.connect и BufferedInputStream (connection.getInputStream ()) для загрузки страниц, но, к сожалению, кажется, что он не может загрузить любые 404 страницы или любые другие страницы с сообщениями об ошибках, вместо этого он выдает исключение.Есть ли способ изменить это поведение и получить сообщение об ошибке, которое отображается в браузере?

Ответы [ 2 ]

3 голосов
/ 26 января 2012

На самом деле вы можете просто использовать метод getErrorStream () объекта HttpURLConnection.

Это вернет входной поток.

Некоторые сайты, такие как msnbc.msn.com, выдают ошибку 404, но затем предоставляют рабочую страницу через поток ошибок ..... не знаю, почему они это делают.

0 голосов
/ 18 декабря 2011

Вы правы. Реализация HttpURLConnection вызывает исключение, когда возвращается любое состояние http, кроме серии 2xx.

Вы должны использовать Jakarta HTTP Client , чтобы иметь возможность получить доступ к входному потоку (и, следовательно, загрузить любой контент) при возврате статуса ошибки.

...