1.libcurl中常用的API
#include <curl/curl.h>
CURL *curl_easy_init()
必須第一個(gè)調(diào)用,返回一個(gè)CURL指針,用于表示當(dāng)前的curl會話。
如果之前沒有執(zhí)行curl_global_init(long flags),則它會自動先執(zhí)行。
但是由于curl_global_init(long flags)和其調(diào)用的函數(shù)在多線程中是不安全的,所以多線程程序中必須在其它線程啟動之前執(zhí)行curl_global_init(long flags)。
void curl_easy_cleanup(CURL * handle )
會話結(jié)束后調(diào)用,以清除一個(gè)CURL * handle
CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter)
設(shè)置libcurl執(zhí)行參數(shù)
CURLcode curl_easy_perform(CURL * handle)
根據(jù)設(shè)置的參數(shù)執(zhí)行網(wǎng)絡(luò)數(shù)據(jù)傳輸,在初始化和參數(shù)設(shè)置后調(diào)用
CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... )
獲取所指向的libcurl會話的執(zhí)行信息
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使用實(shí)例
更多的使用示例可以參考官方網(wǎng)站上的以下網(wǎng)頁
http://curl.haxx.se/libcurl/c/example.html
參考資料:
http://curl.haxx.se