我的问题是可以用php或python或bash提取压缩文件(gzip deflate)http compression 吗?
我测试了这个
import zlib
str_object1 = open('test.png', 'rb').read()
str_object2 = zlib.decompress(str_object1)
f = open('my_recovered_log_file', 'wb')
f.write(str_object2)
f.close()
并获得此结果
File "testgz", line 4, in <module>
str_object2 = zlib.decompress(str_object1)
zlib.error: Error -3 while decompressing data: incorrect header check
TY
答案 0 :(得分:1)
尽管zlib使用与gzip相同的压缩/解压缩机制,但它们使用不同的头作为其校验和。
Python的zlib可以解压缩gzip文件,但Python为此提供了一个便利库gzip
。
答案 1 :(得分:1)
PNG文件格式中嵌入了一个或多个zlib流。您需要解码格式才能找到它们,此时您可以使用zlib.decompress
对它们进行解压缩。您不能使用zlib从头开始解压缩.png文件。
有关格式,请参阅PNG specification。
你的问题似乎很困惑,因为你给出了一个尝试解码.png文件的例子,但是你要问&#34;(gzip deflate)http compression&#34;这是完全不同的事情。是的,您可以zlib.decompress
使用wbits
,并正确使用{{1}}参数。