我有一个使用scapy来嗅探数据的程序,我正在尝试访问http响应中返回的html,我可以访问所有标题和包含html的响应体但是它显示为 Z } KS8 [Cܵ#焦耳/ɴ+ Q2&安培; 3S
访问数据包[Raw] .load返回上述结果。
现在查看标题我可以看到这是用gzip压缩的,这解释了为什么它会像这样显示,所以我尝试用GzipFile解压缩它并使用zlib,但在这两种情况下我都收到一条错误消息,说明这是不是gzip文件。
任何正确解压缩的帮助??
更新:我注意到主要的问题是我正在尝试解压缩部分字符串,因此http响应被发送为块并且解压缩方法失败,因为我试图单独解压缩每个块,如果我结合我能够使用zlib和gzip解压缩的所有块,但同样的问题仍然存在,我可以在组合之前一次解压缩一个块吗?
答案 0 :(得分:0)
嗯,你可以用gzip
模块:
body_stream = StringIO.StringIO(body)
gzipper = gzip.GzipFile(fileobj=body_stream)
data = gzipper.read()
print data[:25]