2011-02-04 48 views
1

我正在使用libcurl從url下載文件。該文件的原始大小是1700k,但我只得到1200k。在我使用數據包嗅探器進行檢查後,我意識到數據是以分塊編碼和gzip格式發送的。此外,我的進度回調總是顯示-0-的dltotal。我嘗試將CURLOPT_ENCODING設置爲「gzip」,「deflate」,「」,「blah」,123123(非空)值,但沒有運氣。我仍然得到1200k未處理的數據。我該怎麼做才能讓這個工作與進度問題一起工作?未通過libcurl處理的分塊響應

感謝, 法提赫

回答

0

的libcurl調用帶有「dltotal」設置爲0進度回調時塊編碼被使用,因爲它不知道總的大小即可。

但是,它確實支持和處理分塊編碼和內容編碼gzip,所以如果你沒有得到完整的文件解壓縮,問題可能是你的服務器正在動作或你的連接以某種方式在完整的文件已被轉移。

此外,你應該確保你使用最近的捲曲版本,以便你沒有受到舊的bug或類似的痛苦。