2011-12-18 4 views
0

URLconnection.connectとBufferedInputStream(connection.getInputStream())を使用してページをダウンロードしましたが、残念ながら404ページやその他のエラーメッセージページをダウンロードできないようですが、例外がスローされます。この動作を変更し、ブラウザに表示されるエラーメッセージを表示する方法はありますか?Javaは、404ページ、エラーメッセージページを含む任意のページをダウンロードしますか?

答えて

0

あなたは正しいです。 HttpURLConnectionの実装は、2xxシリーズ以外のhttpステータスが返されたときに例外をスローします。

エラーステータスが返されると、入力ストリームにアクセスして(したがって任意のコンテンツをダウンロードできる)Jakarta HTTP Clientを使用する必要があります。

+0

'getErrorStream()'について議論するためにこの答えを修正した場合は、私の下位票を削除したいので、私にコメントしてください。 – erickson

3

実際には、HttpURLConnectionオブジェクトのgetErrorStream()メソッドを使用できます。

これは入力ストリームを返します。

msnbc.msn.comのようなサイトでは404エラーが発生しますが、エラーストリーム経由で作業ページを提供しています。なぜそうなったのかわかりません。

+0

お役立ち情報今日私のユニットテスト環境でこれを適用します。 – AlexR