質問

HttpURLConnectionからInputStreamを開こうとすると、一部のサーバーから予期しない結果がランダムに得られます。これらのサーバーは接続を受け入れ、「stay-alive」で返信するようです。 Socketを開いたままにしますが、データをストリームに送り返すことを許可しないヘッダー。

このシナリオでは、マルチスレッドクローラーを少し「複雑」にしようとします。これは、一部の接続がスタックした場合、それを実行しているスレッドが戻らないためです。一部のスレッドがまだ動作していること。

接続応答ヘッダーを読み取って、「滞在」を特定する方法はありますか?答えて、ストリームを開こうとしないでください?

役に立ちましたか?

解決

ここで何が欠けているのかはわかりませんが、単に getHeaderField()

他のヒント

「接続タイムアウト」に加えて、「読み取りタイムアウト」を設定しようとしましたか?

を参照してください。 http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLConnection.html#setReadTimeout%28int%29

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top