精易论坛

标题: 20 [打印本页]

作者: 265893639    时间: 2025-3-6 14:04
标题: 20
大佬们 访问一个包 会出现两种情况 一种需要gzip解压缩 一种不需要 我使用精易编程助手可以自动解压缩 但是在易语言里怎么让他判断是否需要gzip解压缩呢

作者: 算法艺术家    时间: 2025-3-6 14:10
两个方法,用gzip的字节集头去判断,或者直接解压 返回空字节集 不就知道不是了。
作者: 265893639    时间: 2025-3-6 14:13
算法艺术家 发表于 2025-3-6 14:10
两个方法,用gzip的字节集头去判断,或者直接解压 返回空字节集 不就知道不是了。 ...

gzip的字节集头咋弄呢个

作者: 算法艺术家    时间: 2025-3-6 14:17
265893639 发表于 2025-3-6 14:13
gzip的字节集头咋弄呢个

你随便找 两个GZIP的数据包  调试输出看它的字节集头部,
一个gzip文件的头部通常包含以下部分:

ID1 + ID2: 总是0x1F 0x8B,用于识别gzip文件。

CM(Compression Method): 压缩方法,对于gzip来说,通常是0x08,表示使用DEFLATE算法。

FLG(FLaGs): 标志位,可以包含多个标志,如:

0x04: FEXTRA,表示有额外的字段。

0x08: FNAME,表示有文件名。

0x10: FCOMMENT,表示有注释。

0x02: FHCRC,表示头部有16位校验和。

0x01: FTEXT,表示文件是文本文件。

MTIME(Modification TIME): 最后修改时间。

XFL(eXtra FLags): 额外的标志位,通常是0x02或0x04,表示最快或最大压缩。

OS(Operating System): 操作系统类型。
作者: 算法艺术家    时间: 2025-3-6 14:19
265893639 发表于 2025-3-6 14:13
gzip的字节集头咋弄呢个

你就解压一下 判断 多省事
作者: 企鹅号525150138    时间: 2025-3-6 15:11
寻找文本 (返回的协议头, “Content-Encoding: gzip”, , 假) ≠ -1 就是需要gzip解压




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4