HTTPリクエストをサーバーに送信しています。サーバーはHTTPレスポンスコード=200(OK)の空白のレスポンスを合法的に返します。
しかし、これにより、以下のマークされた行が:をスローしEOFException
ます。
InputStream responseStream = httpURLConnection.getInputStream();
final String contentEncoding = this.connection.getContentEncoding();
if ("gzip".equalsIgnoreCase(contentEncoding)) {
responseStream = new GZIPInputStream(responseStream); // throws EOFException
}
これを防ぐための明白な方法があるかもしれませんが、私はそれを見つけることができません。GZIPInputStreamを作成する前に、connection.getContentLength() > 0
またはそのようなものをチェックする必要がありますか?responseStream.available() > 0
これらはどちらも完全に正しいようには見えず、サンプルコードフラグメントで類似したものに出くわしたことはありません...