URLconnection.connectとBufferedInputStream(connection.getInputStream())を使用してページをダウンロードしましたが、残念ながら404ページやその他のエラーメッセージページをダウンロードできないようですが、例外がスローされます。この動作を変更し、ブラウザに表示されるエラーメッセージを表示する方法はありますか?Javaは、404ページ、エラーメッセージページを含む任意のページをダウンロードしますか?
0
A
答えて
0
あなたは正しいです。 HttpURLConnectionの実装は、2xxシリーズ以外のhttpステータスが返されたときに例外をスローします。
エラーステータスが返されると、入力ストリームにアクセスして(したがって任意のコンテンツをダウンロードできる)Jakarta HTTP Clientを使用する必要があります。
3
実際には、HttpURLConnectionオブジェクトのgetErrorStream()メソッドを使用できます。
これは入力ストリームを返します。
msnbc.msn.comのようなサイトでは404エラーが発生しますが、エラーストリーム経由で作業ページを提供しています。なぜそうなったのかわかりません。
+0
お役立ち情報今日私のユニットテスト環境でこれを適用します。 – AlexR
'getErrorStream()'について議論するためにこの答えを修正した場合は、私の下位票を削除したいので、私にコメントしてください。 – erickson