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