C语言抓http gzip包并解压 失败 C/C++ ChinaUnix.net

C语言抓http gzip包并解压 失败 - C/C++ - ChinaUnix.net -

原帖由 tedli 于 2007-8-7 16:41 发表

我加了一小段程序测试是不是chunked传输,但是没有反应,不知道是不是写错了?:



即全程序如下:


你的程序错误的地方目前看来还是比较多的。
  while(1) {
        i = read(sockfd,strResponse + templen,BUFSIZE-1);
}这个循环有可能在很长时间内都不会结束,如果你一定要这样循环,把请求头中的Connection: Keep-Alive改成Connection: close
而且每次用BUFSIZE-1有可能造成内存越界。
你用strstr查找CHUNKED时,要先把某个位置设为字符串结束位置,设为'\0'
事实上你不应该查找CHUNKED,你应该先对协议头的每一行查找Transfer-Encoding: ,然后再比较它的值是不是chunked,应该是用strncasecmp,大小写不分的。

综上,建议使用libcurl库。
原文地址:https://www.cnblogs.com/lexus/p/2991577.html