可以设置两次CURLOPT_WRITEFUNCTION吗?

问题描述 投票:0回答:1
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, Disable_Verbose);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, Save_Page);

这只是我代码的一小部分,我在这里调用了两次CURLOPT_WRITEFUNCTION,我不知道是否可以这样做。

编辑:感谢本杰明林德利,这对我有用:

size_t Write_Callback_Func(void *server_data, size_t size, size_t nmemb, void *user_data)
{
    ((string*)user_data)->append((char*)server_data, size * nmemb);
    return size * nmemb;
}
curl callback libcurl
1个回答
3
投票

'好'在什么意义上?没关系,它不会导致运行时错误。但是没有任何理由你会这样做(不是没有在中间调用curl_easy_perform)。第二个电话取代了第一个电话。它类似于这样做:

int x;
x = 2;  // useless
x = 3;

如果您希望在调用curl_easy_perform时调用两个写函数,则不会。仅调用最近设置的函数。你需要编写一个单独的写函数来调用它们,如果这是你想要实现的。

© www.soinside.com 2019 - 2024. All rights reserved.