请教高手!!截获ip包,发现http包中的数据是gzip压缩的,该怎么办?在线急等。谢谢! 从截获的http包中的数据存成htm文件,发现都是经过gzip压缩的。用IE和文本打开也都是乱码,将文件存成gz文件后,解压出错。现在不知道该怎么办了?急死了!请高手们帮帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个问题我跟踪过一些数据,写一点体会,不对请赐教:一般来说gzip的内容起先是要包含:Content-Encoding: gzipContent-Length: 270字段的,但我分析了一下,Content-Encoding: gzip是包含的而且是明文,但Content-Length: 270不一定包含,这个字段内容表示后续的gzip压缩内容将是270的宽度。但如果没包含Content-Length: 270的话,则这个宽度的位置是在那个content-type text/html后边的那个数字中说明的,这个数字完毕后,后边有个\r\n, 也就是16进制的0x0d\x0a,接着的以1F 8B 08 00 00 00 00 00 00开头的就是gzip编码,浏览器会根据上述的要求收的宽度一直把要求的收完,全部收完毕后,才能够进行解压缩,这中间不能丢包,丢了数据包会解不出来。我曾经把一个字符串用gzip压缩后得到一个新gzip压缩字符串,后来我又把原来这个字符串前多加了一个字符后又用gzip压缩,得到的新gzip压缩字符串与原字符串完全不同(我原以为新得到的gzip字符串会包含原gzip压缩字符串,其实还真不是这么会事),所以这就是我说的一定要把所有gzip全部收完后才能解压缩。当然解压缩的函数是有的。这是一点体会,我发现gzip解压缩非常苛刻,甚至一个字符不对,都可能解不出来,如果你直接用浏览器打开,浏览器肯定会显示乱码,只有从网站上接收后浏览器内部把他解gzip显示出来才能看明白。 codeguru上可以找到g-zip的代码,解压就行。 已经有很多gzip的接口ku。下载搞掂咯 http://www.codeproject.com/cpp/cgzip.asp 文本文件如何写入中文字符 如何屏蔽USB存储器 何为MFC sp6 for visual c++ and visual basic 怎么用,我下的文件是msmenu.exe VC里设定系统时间的函数是什么? 有关数据结构的简单问题!!! 请教Source Safe的使用问题? 请问高手,如何计算cpu一次计算所花的时间??????????????????????? 关于VC程序的环境问题 如何快速地擦除画点???----用于实时曲线的绘制。 如何去掉SDI界面中的菜单? 控制台程序如何知道点击了CMD窗口的关闭按钮?
一般来说gzip的内容起先是要包含:
Content-Encoding: gzip
Content-Length: 270
字段的,但我分析了一下,Content-Encoding: gzip是包含的而且是明文,但Content-Length: 270不一定包含,这个字段内容表示后续的gzip压缩内容将是270的宽度。但如果没包含Content-Length: 270的话,则这个宽度的位置是在那个content-type text/html后边的那个数字中说明的,这个数字完毕后,后边有个\r\n, 也就是16进制的0x0d\x0a,接着的以1F 8B 08 00 00 00 00 00 00开头的就是gzip编码,浏览器会根据上述的要求收的宽度一直把要求的收完,全部收完毕后,才能够进行解压缩,这中间不能丢包,丢了数据包会解不出来。
我曾经把一个字符串用gzip压缩后得到一个新gzip压缩字符串,后来我又把原来这个字符串前多加了一个字符后又用gzip压缩,得到的新gzip压缩字符串与原字符串完全不同(我原以为新得到的gzip字符串会包含原gzip压缩字符串,其实还真不是这么会事),所以这就是我说的一定要把所有gzip全部收完后才能解压缩。当然解压缩的函数是有的。
这是一点体会,我发现gzip解压缩非常苛刻,甚至一个字符不对,都可能解不出来,
如果你直接用浏览器打开,浏览器肯定会显示乱码,只有从网站上接收后浏览器内部把他解gzip显示出来才能看明白。