我需要使用带有C ++的libcurl将一个巨大的文件从本地机器传输到远程机器。是否有可用libcurl内置的压缩选项。由于要传输的数据很大(大小为100 MB到1 GB),如果我们在libcurl本身中有任何这样的选项会更好。我知道我们可以压缩数据并通过libcurl发送它。但只是想知道有没有更好的方法。
注意:在我的情况下,许多客户端计算机会定期将这么大的数据传输到远程服务器。
感谢, Prabu
答案 0 :(得分:2)
根据curl_setopt()
和选项CURLOPT_ENCODING
,您可以指定:
“Accept-Encoding:”标题的内容。这使得能够解码 的回应。支持的编码是“身份”,“缩小”和 “gzip的”的。如果设置了空字符串“”,则包含全部的标题 发送支持的编码类型。
Here是一些示例(只需在您的浏览器中点击搜索并输入compression
),但我不知道它是否正常工作以及它是否预期已经压缩数据。
您仍然可以使用gzcompress()
并自行发送压缩块(我会以这种方式完成任务...您可以更好地控制实际发生的事情,并且您将能够更改使用算法)。
答案 1 :(得分:0)
您需要自己发送zlib压缩文件。也许在服务器端需要进行一些修改。