自己写还是比较麻烦的,各种解码,解析。

解决方案 »

  1.   

    这有HTTP服务器WebSrv和客户端WebClnt:
    http://download.csdn.net/detail/geoff08zhang/4571358
      

  2.   

    http://www.newxing.com/Code/VC/Network/1733.html这个代码写得不错, 使用wininet实现
      

  3.   


    去看了一下,那个核心代码基本是废的:
    1. 不支持gzip
    2. 不支持chunked,只支持content-length指定长度的服务器。他就是一个最普通的下载方式,到处一搜一大把代码。
      

  4.   


    去看了一下,那个核心代码基本是废的:
    1. 不支持gzip
    2. 不支持chunked,只支持content-length指定长度的服务器。他就是一个最普通的下载方式,到处一搜一大把代码。
    chunked无非就是用长度为0的一个chunked标识结尾
    gzip无非就是让你转一下。
    你说了这么多不支持, 其实都不是什么大问题, 要真说不支持, 应该是不支持懒人如果会用api的话,或者就用socket来做,自己封装一个不成问题。下面给一些提示:
    chucked解析:
    int nBytes; char* pStart = a;    // a中存放待解码的数据 char* pTemp; char strlength[10];   //一个chunk块的长度 chunk  : pTemp =strstr(pStart,"\r\n");      if(NULL==pTemp)      {      free(a);          a=NULL;     fclose(fp);     return -1;      }      length=pTemp-pStart;      COPY_STRING(strlength,pStart,length);      pStart=pTemp+2;      nBytes=Hex2Int(strlength); //得到一个块的长度,并转化为十进制                     if(nBytes==0)//如果长度为0表明为最后一个chunk     {         free(a);       fclose(fp);       return 0;        }        fwrite(pStart,sizeof(char),nBytes,fp);//将nBytes长度的数据写入文件中         pStart=pStart+nBytes+2; //跳过一个块的数据以及数据之后两个字节的结束符        fflush(fp);        goto chunk; //goto到chunk继续处理
    2、gzip解析:
    http://blog.csdn.net/cnhzgb/article/details/6667772
      

  5.   


    chucked解析:
    http://wenku.baidu.com/view/50d6f575a417866fb84a8ef9.html
      

  6.   

    你说别人核心代码基本是废的
    我说你懒
    over