libcurl使用实例2:回调函数使用
#include <curl/curl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
size_t write_data(void* buffer, size_t size, size_t nmemb, FILE* file) {
size_t r_size = fwrite(buffer, size, nmemb, file);
return r_size;
}
int main() {
/*定义一个只读的文件指针*/
char* path = "path.txt";
FILE* file = fopen(path, "w");
/*初始化环境*/
CURL* curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL,
"https://www.youkuaiyun.com/"); //-url
/*回调函数调用*/
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, file);
}
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_easy_cleanup(curl);
curl_global_cleanup();
return 0;
}
输出: