浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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库。
posted on 2013-03-31 12:12  lexus  阅读(239)  评论(0编辑  收藏  举报