问题是这样的:
我HOOK了firefox的socket函数,得到TCP流,这时HTTP的BODY部分经常是分段(chunk)或经过压缩(gzip)的。现在想处理HTTP包,得到html文件,有没有这方面现成的代码可以参考?

解决方案 »

  1.   

    google baidu 啊有不少解压的代码如何用CZip/CUnzip类压缩/解压缩文件
    http://www.vckbase.com/document/viewdoc/?id=320
      

  2.   

    dechunk 方面有什么好的代码吗?
      

  3.   

    一般都是自行处理
    chunked:分段传送,需要计算数据段的长度(16进制正序,单独一行,0字节长度表示数据结束)
    gzip:用开源库代码zlib等都可以
    网上是否有封装的资源?应该有,但是不好找:)
      

  4.   

    firefox是开源的,你可以直接使用其中的源代码或者调用进程内相应函数.
      

  5.   

    正想分析出chunk和没有content-length的包
      

  6.   

    发送请求的时候有一行, accept-encoding, 把这行抹了后返回的就不是压缩的了.
      

  7.   

    谢谢各位,最后我的做法是:
    修改了libcurl的相关代码来实现,主要是readwrite_data()这个函数和它调用的一些函数。不过改动还是不少。