从Golang中的字节数组解压缩gzip

从Golang中的字节数组解压缩gzip,第1张

从Golang中的字节数组解压缩gzip
content := []byte{72,84,84,80,47,49,46,49,32,50,48,48,32,79,75, ...

这根本不是gzip数据。正确的gzip数据以魔术序列开头

0x1f 0x8b
,即
[]byte{31,139,...}
。就此而言,它正确地抱怨
gzip:invalid header

因此,让我们仔细看看该字节序列实际上是什么。当将其打印为字符串时,它给出:

HTTP/1.1 200 OKTransfer-Encoding: chunkedConnection: Keep-AliveContent-Encoding: gzipContent-Type: text/htmlDate: Sun, 14 Apr 2019 05:12:23 GMTKeep-Alive: timeout=5, max=100Server: Apache/2.4.10 (Debian)Vary: Accept-Encoding6bd... binary data ..0

因此,这是HTTP响应,其中首先使用gzip压缩主体,然后使用分块传输编码对主体进行编码。要提取数据,您需要首先删除HTTP标头,然后从分块的传输编码中解码,然后可以获取结果并使用gzip解压缩。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4886891.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-11

发表评论

登录后才能评论

评论列表(0条)

    保存