libcurl (linux, C) - 是否有内置方法来 POST/PUT gzipped 请求?

发布于 2024-12-09 20:37:32 字数 151 浏览 0 评论 0原文

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

I want to perform a HTTP POST and/or PUT (using libcurl) with the request being compressed using GZIP. I haven't been able to find any native support for this in libcurl, and am wondering if I just haven't found the correct documentation or if there really is no support for this? (ie. Will I have to implement my own wrapper to gzip the request body?)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泪是无色的血 2024-12-16 20:37:32

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

另外,我不同意 Aditya 提供的另一个答案(从我的偏见来看,这并不奇怪),但我会说 libcurl 是您使用 C(或 C++ 或其他语言)执行 HTTP 请求的最佳选择之一......

HTTP has no "automatic" or negotiated compression for requests, you need to do them explicitly by yourself before sending the data.

Also, I disagree with Aditya who provided another answer (judging my bias it's not that strange) but would say that libcurl is one of the best possible options for you to do HTTP requests with C (or C++, or other languages) ...

你与昨日 2024-12-16 20:37:32

如果您有兴趣支持自动代理检测、证书存储(考虑 HTTPS/SSL 支持)以及请求压缩等内容,我建议不要使用 libcurl。

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

I would recommend not using libcurl if you are interested in supporting automatic proxy detection, certificate store (think HTTPS/SSL support) along with stuff like gzipping of requests.

You could use zlib for coming out of this situation, but what about other scenarios? It is better to use platform APIs for network requests even if overall program is platform independent in C++.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文