libcurl 是一个用于客户端与服务器通讯的开源C库,支持多种协议。
curl_easy_setopt() 函数用于设置各种选项以配置 libcurl 处理请求的方式。CURLOPT_WRITEDATA 和 CURLOPT_BUFFERSIZE 是两个常用的选项。
CURLOPT_WRITEDATA
用途:
CURLOPT_WRITEDATA 用于设置回调函数 CURLOPT_WRITEFUNCTION 的用户数据,也就是传递给 CURLOPT_WRITEFUNCTION 的自定义指针。
原型:
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEDATA, void *pointer);
参数:
- handle:指向 CURL 句柄的指针,之前通过 curl_easy_init() 获取。
- pointer:要传递给写回调函数的用户数据。通常是一个文件指针或用户定义的结构。
示例:
#include <curl/curl.h>
#include <stdio.h>
size_t write_callback(void *ptr, size_t size, size_t nmemb, void *userdata) {
FILE *st