1.libcurl中常用的API
#include <curl/curl.h>
CURL *curl_easy_init()
必须第一个调用,返回一个CURL指针,用于表示当前的curl会话。
如果之前没有执行curl_global_init(long flags),则它会自动先执行。
但是由于curl_global_init(long flags)和其调用的函数在多线程中是不安全的,所以多线程程序中必须在其它线程启动之前执行curl_global_init(long flags)。
void curl_easy_cleanup(CURL * handle )
会话结束后调用,以清除一个CURL * handle
CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter)
设置libcurl执行参数
CURLcode curl_easy_perform(CURL * handle)
根据设置的参数执行网络数据传输,在初始化和参数设置后调用
CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... )
获取所指向的libcurl会话的执行信息
2.libcurl最简单使用流程
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
int response;
res = curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "curl.haxx.se");
res = curl_easy_perform(curl);
res = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
3.libcurl使用实例
更多的使用示例可以参考官方网站上的以下网页
http://curl.haxx.se/libcurl/c/example.html
参考资料:
http://curl.haxx.se