2012-11-14 35 views
1

我需要使用libcurl和C++将大文件从本地机器传输到远程机器。是否有libcurl内置的任何压缩选项可用。由于要传输的数据量很大(大小为100 MB到1 GB),如果我们在libcurl本身中有任何这样的选项可能会更好。我知道我们可以压缩数据并通过libcurl发送它。但只是想知道有没有更好的方式来做到这一点。libcurl中是否有可用的压缩

注意:在我的情况下,许多客户端机器会在定期的时间间隔内将如此庞大的数据传输到远程服务器。

感谢, Prabu

+0

感谢您的评论。我一定会为此工作。到目前为止,我不知道那是什么,直到你的评论。 – Prabu

回答

2

根据curl_setopt()和选项CURLOPT_ENCODING,您可以指定:

中的内容 “的Accept-Encoding:” 标头。这使得解码 的响应。支持的编码是“身份”,“放气”和 “gzip”。如果设置了空字符串“”,则会发送包含所有支持的编码类型的标题。

Here是一些例子(只是在你的浏览器和类型compression点击搜索),但我不知道究竟热它的工作原理,以及它是否期待已gzip压缩数据。

您仍然可以使用gzcompress()并自行发送压缩块(并且我会这样完成任务...您可以更好地控制实际正在进行的操作,并且您可以更改使用的算法) 。

+2

虽然这个答案和libcurl选项适用于_downloads_,但我得到的印象是_uploads _.. –

+0

@DanielStenberg @你是对的......然后只是最后一段是答案: – Vyktor

0

您需要自己发送带有zlib压缩文件。也许在服务器端需要一些修改。

相关问题