栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从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解压缩。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/365676.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号