繁体   English   中英

C++ 卷曲回调

[英]C++ curl callback

谁能告诉我为什么我们需要在某些 curl 选项中进行回调,例如CURLOPT_WRITEFUNCTION

我在 C++ 中使用了下面的代码,无论是否使用CURLOPT_WRITEFUNCTION回调,都得到了相同的结果,因此使用回调似乎令人困惑。

int main(){
    CURL *curl = curl_easy_init();
    CURLcode response;
    if(curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com");
        response=curl_easy_perform(curl);
        curl_easy_cleanup(curl);
    }    
}

callback 是一个选项,它具有自己的特定属性,可能对想要使用该属性的人有用。 请参阅以下链接https://curl.se/libcurl/c/CURLOPT_WRITEFUNCTION.html

默认情况下,libcurl 只是将下载的数据写入 STDOUT。

如果您只想更改将数据写入哪个FILE* ,您可以使用CURLOPT_WRITEDATA选项。

但是,如果您想更改它写入数据的方式,例如写入FILE*以外的内容,您可以使用CURLOPT_WRITEFUNCTION回调。

例如,请参阅这些使用CURLOPT_WRITEFUNCTION自定义下载的示例:

https://curl.se/libcurl/c/ftpsget.html

https://curl.se/libcurl/c/getinmemory.html

https://curl.se/libcurl/c/http2-pushinmemory.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM