【问题标题】:What does CURLOPT_READFUNCTION do at a high level?CURLOPT_READFUNCTION 在高层次上做了什么?
【发布时间】:2016-01-10 07:17:18
【问题描述】:

我已经阅读了http://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html 的文档。而且我知道 CURL 会触发 read_callback 来做这件事。

但在高层次上,因为 read_callback 返回 size_t,例如 x 字节,所以 CURLOPT_READFUNCTION 的目的是告诉服务器,“嘿,我要给你发送 x 字节”。所以服务器确切地知道会发生什么。

这是它的要点吗?

【问题讨论】:

    标签: c curl


    【解决方案1】:

    回调的目的是将 N 个字节的数据传递给 libcurl 以进行您要求它执行的传输。并且能够随着传输的进行逐步完成,libcurl 会一遍又一遍地调用它。

    当 libcurl 即将发送数据时,它会通过此回调向应用程序询问要传输的确切字节。这就是全部目的。它需要返回数据量,以便 libcurl 知道您复制到其缓冲区的数据量。

    总上传传输的大小,即服务器预期的大小,通常使用单独的选项设置,例如 CURLOPT_POSTFIELDSIZECURLOPT_INFILESIZE,具体取决于特定请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-04
      • 2014-02-03
      • 1970-01-01
      • 2021-03-24
      • 2019-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多