由于一个压缩响应的内容长度是不可预测的和它的潜在昂贵而缓慢到存储器中第一个完全压缩,然后计算出的长度,然后流从存储器用Gzip响应,平均web服务器将在使用组块发送它们
没有 一个标头。
Transfer-Encoding:
chunked
__
Content-Length
由于它是本地HTTP客户端,因此听起来好像没有正确处理分块的请求。您必须确定
Transfer-Encoding响应标头,如果它等于
chunked,则必须将其解析为分块流。
您可以从上述HTTP规范链接和Wikipedia中学习如何解析分块的流。每个块均由标头(以十六进制表示)的长度组成,然后是CRLF,然后是实际块内容,然后是CRLF。重复此过程,直到带有标题的块表示标题的块长度
0。您需要分别解压缩块,然后将它们粘合在一起。
为了节省所有繁琐的编码工作(可能还用于您自己的HTTP客户端的剩余部分),我强烈建议您看看Apache HttpComponents
Client。



