2011-02-04 45 views
1

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

感谢, 法提赫

回答

0

的libcurl调用带有“dltotal”设置为0进度回调时块编码被使用,因为它不知道总的大小即可。

但是,它确实支持和处理分块编码和内容编码gzip,所以如果你没有得到完整的文件解压缩,问题可能是你的服务器正在动作或你的连接以某种方式在完整的文件已被转移。

此外,你应该确保你使用最近的卷曲版本,以便你没有受到旧的bug或类似的痛苦。