如何解决http封包中gzip编码的html
答案:3 悬赏:20 手机版
解决时间 2021-02-16 10:37
- 提问者网友:嗝是迷路的屁
- 2021-02-15 17:43
如何解决http封包中gzip编码的html
最佳答案
- 五星知识达人网友:枭雄戏美人
- 2021-02-15 18:25
解决http封包中gzip编码的html 大家都知道,在默认模式下,http协议中发送的网页的Html代码是经过gzip编码后传送的。那么我们怎么才能回复这段编码后的html呢? 大家可能都知道linux下有一个gzip命令。可以把文件压缩成gzip编码的格式
全部回答
- 1楼网友:底特律间谍
- 2021-02-15 20:27
如何解决http封包中gzip编码的html
大家都知道,在默认模式下,http协议中发送的网页的Html代码是经过gzip编码后传送的。那么我们怎么才能回复这段编码后的html呢?
大家可能都知道linux下有一个gzip命令。可以把文件压缩成gzip编码的格式,即*.gz
而对于文件的压缩和解压缩,可以采用zlib库中提供的各种接口来进行操作。但是这里问题来了。关于gzip编码的那些函数都带有gz开头的标示。而这些接口维护了一个名叫gz_stream的结构体。并且是针对文件FILE*操作的。
而我们要解决的问题是,我们把截取的封包中的gzip编码的内容拿出来,放到一个buffer中。那么怎么才能针对这个buffer中的数据应用这些接口呢?
我本来的想法是能不能在这些接口中找到专门对内存中的数据进行解码?
考虑这个问题,我看了这个库的源代码。后来放弃了。至于放弃的原因,可能是我意志力不够,或者不想看那些源代码了。总之,我看了一天,看的我头疼。
后来我就想个办法绕开这一思路,走个弯路。问题豁然开朗。
思路如下:
1. 把获取到的经过编码的数据保存到一个文件中。注意写文件的时候一定要以二进制方式。否则是不能解码的。
2. 应用zlib中的接口,gzopen(),gzread(),gzclose()即可完成解码的任务了。
- 2楼网友:持酒劝斜阳
- 2021-02-15 19:53
解决http封包中gzip编码的html 大家都知道,在默认模式下,http协议中发送的网页的html代码是经过gzip编码后传送的。那么我们怎么才能回复这段编码后的html呢? 大家可能都知道linux下有一个gzip命令。可以把文件压缩成gzip编码的格式
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯