CURLOPT_READFUNCTION在高级别做什么?

时间:2016-01-10 07:17:19

标签: c curl

我在http://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html阅读了文档。我知道CURL会触发read_callback来做它的事情。

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

这是它的要点吗?

1 个答案:

答案 0 :(得分:0)

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

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

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