libcurl未处理分块响应

时间:2011-02-04 15:36:57

标签: c http curl libcurl

我正在使用libcurl从网址下载文件。该文件的原始大小是1700k但我只得到1200k。在我使用数据包嗅探器进行检查后,我意识到数据是采用分块编码和gzip进行的。此外,我的进度回调总是显示-0-的dltotal。我尝试将CURLOPT_ENCODING设置为“gzip”,“deflate”,“”,“blah”,123123(非空)值,但没有运气。我仍然得到1200k的未处理数据。我应该怎么做以使这与进步问题一起工作?

谢谢, 法提赫

1 个答案:

答案 0 :(得分:0)

当使用分块编码时,

libcurl调用进程回调并将“dltotal”设置为0,因为它无法知道总大小。

然而它确实支持和处理chunked编码和内容编码gzip,所以如果你没有得到解压缩的完整文件,问题可能是你的服务器正在运行或者你的连接在完整之前以某种方式中断文件已被转移。

此外,您应该确保使用最近的卷曲版本,这样您就不会遇到旧的错误或类似错误。