青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

支持gzip的爬蟲 gzip zlib deflate 相關介紹

最近給Httpdownload 封裝了支持gzip傳輸

 

HTTP的角度

1 客戶端 http Request  Header上帶上 Accept-Encoding:gzip,deflate

2服務器若是支持gzip壓縮則在http reponse eader

部分返回Content-Encoding: gzip 或者Content-Type: application/x-gzip

3body部分用gzip解壓縮 則得到網頁內容.

傳說中iebug 在處理js css壓縮的時候有bug,我不理解 挺簡單的怎么會有bug.

gzip的角度

gzip是一種數據格式 默認且目前僅使用deflate算法壓縮data部分

zlib也是一種數據格式,使用defalte算法壓縮數據部分.

deflate是一種壓縮算法,huffman編碼的一種加強

 

zlib是一個開源庫, 提供deflate壓縮和對應的infalte解壓縮.

不過zlib默認的deflate infalte默認是處理zlib格式數據.必須使用

deflateInit2(&strm, DEFAULT_COMPRESSION,Z_DEFLATED, DEFAULT_WINDOWSIZE,DEFAULT_MEMLEVEL, Z_DEFAULT_STRATEGY);

初始化才是處理raw deflate data.(這一點在zlib manul沒有提,faq中提到,困擾了我好久,還是同事L幫我調試發現)

至于gzip格式解析 對著RFC寫就可以了.

參見RFC 1950 關于zlib http://www.faqs.org/rfcs/rfc1950.html

      RFC 1951 關于deflate http://www.faqs.org/rfcs/rfc1951.html

      RFC 1952 關于gzip http://www.faqs.org/rfcs/rfc1952.html 


nt  CGzip::Ungzip(const std::string & inStr , std::string &outStr){
    static int nFileCount=0;
        nFileCount++;
    string strZipFileName="test";
//    CConvert::StrToFile(inStr,strZipFileName+CConvert::toString<int>(nFileCount)+"H.gzip"clip_image001;
    if(inStr.length()<11){
        return -1;   
    }
    //process gzip header
    unsigned int skipCt = 10;
    unsigned int skipZeroCt = 0;
    unsigned char ID1 = inStr[0];
    unsigned char ID2 = inStr[1];
    unsigned char XFL=inStr[8];
    bool bFEXTRA = false ;
    bool bFNAME = false ;
    bool bFCOMMENT = false ;
    bool bFHCRC = false ;
    unsigned int XLEN = 0;
   
    if( (ID1!=31) && (ID2!=139)){
        return -1;  //
gzip頭部
        }
    unsigned char CM = inStr[2];
    if(CM!=clip_image002{
        return -1; //
現在都只處理 deflate壓縮的
    }
    unsigned char FLG = inStr[3];
    if( (FLG & GZIP_HEAD_FEXTRA) != 0){
        bFEXTRA = true ;
        skipCt += 2;
        XLEN = inStr[10]+ inStr[11]*256 ;//
按照小端字節序列處理
        skipCt += XLEN;
    }
    if( (FLG & GZIP_HEAD_FNAME) != 0){
        bFNAME = true;
        skipZeroCt++;
    }
    if( (FLG & GZIP_HEAD_FCOMMENT) != 0){
        bFCOMMENT = true;
        skipZeroCt++;   
    }
   
    size_t passedZeroCt = 0;
   
    size_t iStep = skipCt ;
    for( size_t iStep =  skipCt ; iStep<inStr.length(); iStep++){
            if(passedZeroCt>=skipZeroCt){
                break;   
            }
            if(inStr[iStep]==''clip_image001{
                passedZeroCt++;   
            }
       
    }
    skipCt = iStep ;
    if( (FLG & GZIP_HEAD_FHCRC) != 0){
        bFHCRC = true;
        skipCt+=2 ;
    }
        string coreStr = inStr.substr(skipCt,inStr.length()-8-skipCt);
           return CGzip::Inflate(coreStr,outStr);
   
   
   
}

 

int  CGzip:clip_image003ogzip(const std::string & inStr , std::string &outStr){
    char pAddHead[10];
    unsigned long crc = 0;
    // gzip header
    static const char deflate_magic[2] = {'37', '\213'};
    snprintf(pAddHead, 10,
            "%c%c%c%c%c%c%c%c%c%c", deflate_magic[0],
            deflate_magic[1], Z_DEFLATED, 0 /* flags */,
            0, 0, 0, 0 /* 4 chars for mtime */,
            0 /* xflags */, 0xff);
    string addHead(pAddHead,10);
    //gzip's raw deflate body
    if(CGzip:clip_image003eflate(inStr,outStr)<0){
        return - 1;   
    }
    //gzip trailer
    crc = crc32(crc, (const Bytef*)inStr.data(), inStr.length());
    char  tailBuf[8];
    memcpy(tailBuf, &crc, 4);
    int isize=inStr.size();
    memcpy(tailBuf,&isize,4);
    string tailStr(tailBuf , 8 );
    outStr = addHead + outStr+tailStr;     //
    return outStr.length(); //

posted on 2009-09-07 21:58 肥仔 閱讀(2733) 評論(0)  編輯 收藏 引用 所屬分類: 庫 & 代碼段 、HTTP & URL

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久这里只有精品视频首页| 黄色成人免费观看| 亚洲天堂av综合网| 在线视频日韩| 亚洲欧美日韩专区| 久久精品电影| 99v久久综合狠狠综合久久| 亚洲人成艺术| 亚洲欧美一区二区三区在线| 亚洲国产精品福利| 亚洲黄色精品| 国产精品99久久久久久久久久久久| 亚洲精品一区二区三区蜜桃久| 日韩午夜在线观看视频| 亚洲欧美日韩中文视频| 麻豆成人在线| 国产精品一区久久| 亚洲国产日韩欧美在线动漫| 亚洲婷婷在线| 免费成人高清在线视频| 亚洲国产精品va在线看黑人动漫 | 在线精品观看| 一区二区精品| 久久午夜电影网| 99精品免费视频| 久久精品盗摄| 国产精品美女久久久| 在线观看欧美日韩| 午夜精品一区二区三区电影天堂| 欧美激情精品久久久久| 亚洲欧美偷拍卡通变态| 欧美女同在线视频| 在线成人中文字幕| 香蕉久久a毛片| 亚洲欧洲精品一区二区三区不卡 | 国产欧美日韩高清| 亚洲美女电影在线| 老司机精品视频网站| 亚洲小少妇裸体bbw| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品萝li| 亚洲一区二区在线看| 亚洲电影网站| 免费成人在线观看视频| 一区二区三区在线观看欧美| 午夜在线观看免费一区| 99国产精品| 欧美日韩精品一区视频| 亚洲国产日韩在线一区模特| 久久先锋资源| 久久精品视频va| 狠狠色综合色综合网络| 久久久精品国产一区二区三区 | 亚洲精品美女在线观看| 久久精品在线播放| 国产一区二区三区久久| 欧美亚洲综合网| 亚洲午夜电影| 国产精品久久久久久久app| 亚洲视频观看| 亚洲一区二区三区精品视频| 国产精品夫妻自拍| 午夜精品久久久久久久99黑人| aa级大片欧美| 国产精品人成在线观看免费| 亚洲综合好骚| 午夜精品久久一牛影视| 国产欧美一区二区精品秋霞影院 | 欧美亚洲第一区| 一区二区av在线| 99国产精品久久久久久久成人热| 欧美日韩国产123区| 亚洲一区二区三区乱码aⅴ| 亚洲作爱视频| 国产三区精品| 欧美国产精品一区| 欧美日韩一级视频| 欧美一区二区三区久久精品| 久久久www成人免费无遮挡大片 | 亚洲欧美日韩一区在线| 亚洲欧美日韩在线播放| 伊人婷婷久久| 日韩午夜精品| 国产亚洲精品aa午夜观看| 免费看亚洲片| 欧美日韩在线免费视频| 久久高清国产| 欧美.www| 新67194成人永久网站| 久久久久成人精品免费播放动漫| 亚洲国产日韩在线| 亚洲一区二区三区四区五区黄| 韩国精品在线观看| 亚洲免费av电影| 国产一区二区三区免费不卡 | 99天天综合性| 久久不见久久见免费视频1| 亚洲乱码国产乱码精品精天堂| 亚洲天堂第二页| 在线播放国产一区中文字幕剧情欧美| 亚洲精品乱码久久久久久久久| 国产亚洲激情视频在线| 亚洲国产精品悠悠久久琪琪 | 在线视频精品| 久久精品噜噜噜成人av农村| 99riav1国产精品视频| 亚洲婷婷在线| 免费视频久久| 久久福利视频导航| 一本色道久久综合亚洲91| 欧美在线日韩| 亚洲一区二区黄| 欧美3dxxxxhd| 久久午夜视频| 国产日韩欧美高清免费| 亚洲美女电影在线| 亚洲国产精品成人| 久久国产精品久久国产精品 | 亚洲黄色在线观看| 午夜一区二区三视频在线观看 | 欧美一区二区三区视频免费播放 | 亚洲黄色成人| 亚洲国产精品一区二区www在线 | 久久一区中文字幕| 国产精品久久久久免费a∨大胸| 欧美国产视频日韩| 国产一区自拍视频| 欧美在线播放视频| 久久精品卡一| 国产午夜亚洲精品理论片色戒| 亚洲午夜在线| 欧美亚洲在线视频| 国产伦精品一区二区三区高清版| 亚洲少妇自拍| 亚洲制服欧美中文字幕中文字幕| 欧美日韩精品一区二区| 日韩视频在线播放| 宅男噜噜噜66一区二区66| 欧美精品啪啪| 日韩亚洲一区在线播放| 亚洲一区二区三区在线看| 欧美视频一二三区| 亚洲一区二区三区777| 欧美一区二区在线看| 国产欧美91| 久久久久国产精品午夜一区| 欧美大片91| 日韩特黄影片| 国产精品成人在线观看| 亚洲制服少妇| 久久亚洲精品欧美| 亚洲黄色性网站| 欧美三级乱码| 香蕉久久一区二区不卡无毒影院 | 亚洲国产欧美一区二区三区同亚洲| 亚洲精品美女久久7777777| 欧美另类久久久品| 亚洲一区二区三区中文字幕| 久久精品国产77777蜜臀| 在线综合+亚洲+欧美中文字幕| 欧美激情中文字幕一区二区 | 亚洲免费一区二区| 国产一区二区三区日韩欧美| 久久亚洲高清| 亚洲精品美女| 久久成人羞羞网站| 亚洲精品亚洲人成人网| 国产美女精品在线| 美女久久网站| 亚洲免费网址| 欧美国产第一页| 欧美一级二区| 亚洲高清视频中文字幕| 欧美性猛交xxxx免费看久久久| 香蕉久久一区二区不卡无毒影院 | 亚洲欧美一区二区原创| 韩国一区电影| 欧美日韩一区二区三区四区五区 | 久久成年人视频| 亚洲精品美女91| 美女精品在线| 香蕉久久一区二区不卡无毒影院| 在线观看不卡| 国产日韩视频| 国产精品av免费在线观看| 老司机精品视频网站| 亚洲一区二区在线播放| 亚洲黄色影院| 蜜臀99久久精品久久久久久软件 | 亚洲精品国产日韩| 国产日韩欧美不卡在线| 欧美啪啪成人vr| 久久偷窥视频| 欧美一区二区私人影院日本 | 欧美a级理论片| 欧美综合激情网| 亚洲在线观看免费| 一本色道久久加勒比精品| 国产精品久久久久秋霞鲁丝| 亚洲影院免费|