我不理解文档对此的说明。
默认情况下,HttpURLConnection 的实现会请求服务器使用 gzip 压缩。由于 getContentLength() 方法返回传输的字节数,因此您不能使用该方法来预测可以从 getInputStream() 中读取多少字节。相反,一直读取该流直到耗尽为止:当 read() 返回 -1 时。可以通过在请求头中设置可接受的编码方式来禁用 Gzip 压缩。
我想知道当前实现是否在返回流之前解压缩它(使用conn.getInputStream()),或者它只是说连接自动发送gzip编码的头文件,我需要处理它。
谢谢。
默认情况下,HttpURLConnection 的实现会请求服务器使用 gzip 压缩。由于 getContentLength() 方法返回传输的字节数,因此您不能使用该方法来预测可以从 getInputStream() 中读取多少字节。相反,一直读取该流直到耗尽为止:当 read() 返回 -1 时。可以通过在请求头中设置可接受的编码方式来禁用 Gzip 压缩。
urlConnection.setRequestProperty("Accept-Encoding", "identity");
我想知道当前实现是否在返回流之前解压缩它(使用conn.getInputStream()),或者它只是说连接自动发送gzip编码的头文件,我需要处理它。
谢谢。