libcurl:检测块编码响应的块边界

发布于 2024-11-13 08:39:44 字数 152 浏览 5 评论 0 原文

我正在使用 libcurl,目前是简单的 api。我正在向 Web 服务器发出请求,该服务器使用 HTTP 分块编码进行响应。我想知道是否有办法知道服务器中的块何时完成。我正在寻找某种类型的回调。 DEBUGDATA 似乎没有包含它,并且 CHUNK_END_FUNCTION 似乎不相关。

I am using libcurl, currently the easy api. I am making a request to a web server that responds with HTTP Chunked Encoding. I would like to know if there is a way to know when a chunk from the server has finished. I was looking for some type of callback. DEBUGDATA didn't seem to include it, and CHUNK_END_FUNCTION seemed to be unrelated.

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

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

发布评论

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

评论(2

秋意浓 2024-11-20 08:39:44

如果您使用 CURLOPT_DEBUGFUNCTION 选项,您将获得“未分块”的数据”然后您可以根据需要自行扫描和解析数据,从而跟踪数据块的结尾或您喜欢的任何内容。 ()

正如“nm”已经说过的,libcurl 没有公开块的 API,因为它试图使传输编码对用户完全透明。

或者,应用程序可以告诉 libcurl 根本不解码分块传输编码,而是使用 CURLOPT_HTTP_TRANSFER_DECODING

If you use the CURLOPT_DEBUGFUNCTION option you will get the data "un-chunked" and then you can scan and parse the data yourself as you see fit and thus track the end of chunks or whatever you like. ()

As "n.m." already said, libcurl has no API that exposes chunks as it tries to make the transfer encoding completely transparent to users.

Alternatively, applications can tell libcurl to not decode chunked transfer encoding at all and instead pass it on as-is to the application with CURLOPT_HTTP_TRANSFER_DECODING.

独享拥抱 2024-11-20 08:39:44

不,libcurl 没有任何 API 可以让您知道这一点。

No, libcurl doesn't have any API that would let you know that.

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