C语言抓http gzip包并解压 失败 - C/C++ - ChinaUnix.net -
你的程序错误的地方目前看来还是比较多的。
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库。