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