解密http响应

时间:2019-06-28 12:31:35

标签: encoding

我发出了GET请求,响应头如下:

Cache-Control: private
Content-Encoding: gzip
Content-Length: 10566
Content-Type: text/html; charset=utf-8
Date: Fri, 28 Jun 2019 03:45:08 GMT
Server: Microsoft-IIS/8.5
Vary: Accept-Encoding
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET

我将响应保存到文件,该文件如下所示:

1f8b 0800 0000 0000 0400 edbd 0760 1c49
9625 262f 6dca 7b7f 4af5 4ad7 e074 a108
8060 1324 d890 4010 ecc1 88cd e692 ec1d
6947 2329 ab2a 81ca 6556 655d 6616 40cc
ed9d bcf7 de7b efbd f7de 7bef bdf7 ba3b
9d4e 27f7 dfff 3f5c 6664 016c f6ce 4ada
//continues...

如何解码?

1 个答案:

答案 0 :(得分:0)

如响应头 Content-Encoding 所示,使用 gzip / deflate 压缩响应:

Content-Encoding: gzip

,并且如前几个字节1f 8b 08所示(假设您的问题显示了响应的十六进制转储)。

大多数HTTP客户端库可以轻松处理 gzip / deflate 编码,因为它是加速HTTP请求的常用压缩算法。

如果您的编程语言或环境(不幸的是,您没有提及)不支持 gzip / deflate ,则可以更改HTTP请求。除非HTTP服务器无法正常运行,否则您的请求当前会包含HTTP标头 Accept-Encoding ,表明您的代码可以接受 gzip / deflate 编码(情况并非如此) 。因此,请删除此标头,然后服务器应停止发送压缩数据。