libcurl(linux,C) – 是否有一种内置的POST / PUT压缩请求方式?

我想使用GZIP压缩请求执行HTTP POST和/或PUT(使用libcurl)。 我无法在libcurl中找到任何本机支持,我想知道我是否找不到正确的文档或者是否真的没有这方面的支持? (即我是否必须实现自己的包装器来gzip请求体?)

HTTP没有对请求进行“自动”或协商压缩,您需要在发送数据之前自己明确地进行压缩。

另外,我不同意Aditya,他提供了另一个答案(判断我的偏见并不奇怪),但是会说libcurl是用C(或C ++或其他语言)进行HTTP请求的最佳选择之一……

如果您有兴趣支持自动代理检测,证书存储(想想HTTPS / SSL支持)以及诸如压缩请求之类的东西,我建议不要使用libcurl。

您可以使用zlib来摆脱这种情况,但其他方案呢? 即使整个程序在C ++中与平台无关,最好将平台API用于网络请求。