libcurl 笔记
https://curl.haxx.se/libcurl/c/libcurl-tutorial.html
基础
初始化,参数指定要初始化的模块:
1 | curl_global_init(CURL_GLOBAL_ALL); |
如果没有调用 curl_global_init
,curl_easy_perform
会自动调用。
1 | CURL_GLOBAL_WIN32 |
当不再使用 libcurl 时调用:
1 | curl_global_cleanup(); |
init 和 cleanup 避免重复调用,应只调用一次。
查询libcurl支持的特性:
1 | curl_version_info(); |
libcurl 提供两种接口:
- easy interface - 函数以 curl_easy 为前缀,同步、阻塞调用。(let you do single transfers with a synchronous and blocking function call)
- multi interface - 支持在一个线程中多个传输任务,异步。(allows multiple simultaneous transfers in a single thread)