2

我需要使用带有 C++ 的 libcurl 将一个巨大的文件从本地机器传输到远程机器。libcurl 是否有内置的压缩​​选项。由于要传输的数据很大(大小为 100 MB 到 1 GB),如果我们在 libcurl 本身中提供任何此类选项会更好。我知道我们可以压缩数据并通过 libcurl 发送。但只是想知道有没有更好的方法。

注意:就我而言,许​​多客户端机器会定期将如此庞大的数据传输到远程服务器。

谢谢, 普拉布

4

2 回答 2

3

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

“Accept-Encoding:”标头的内容。这使得能够对响应进行解码。支持的编码是 "identity"、"deflate" 和 "gzip"。如果设置了空字符串“”,则会发送包含所有支持的编码类型的标头。

以下是一些示例(只需在浏览器中点击搜索并输入compression),但我不知道 hot 究竟是否有效,以及它是否期望已经压缩过的数据。

您仍然可以gzcompress()自己使用和发送压缩块(我会以这种方式完成任务......您将更好地控制实际发生的事情,并且您将能够更改使用的算法)。

于 2012-11-14T13:44:02.570 回答
0

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

于 2014-01-08T03:30:38.677 回答