我正在向服务器发送一个 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
这些似乎都不对,我在示例代码片段中没有遇到任何类似的东西......