天天看點

curl簡單使用

首先,調用函數curl_global_init()來初始化庫函數;記得最後調用curl_global_cleanup()來釋放庫資源。其次,調用curl_easy_init()來初始化一個句柄,得到一個easy interface型指針;curl_easy_init函數是線程相關的,也就是說不能在一個線程中調用另外一個線程通過curl_easy_init建立的CURL指針。

記得最後要調用curl_easy_cleanup(easy interface);接着,再調用curl_easy_setopt來設定将要通路的網絡位址。curl_easy_perform來執行下載下傳。

注意的是:libcurl的全局初始化必須放線上程之外。

1、函數

CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);

CURLOPT_WRITEFUNCTION //設定回調函數

回調函數原型為: size_t function( void *ptr, size_t size, size_t nmemb, void *userp);函數将在libcurl接收到資料後被調用。

void *ptr是下載下傳回來的資料.

void *userp是使用者指針,使用者通過這個指針傳輸自己的資料。

CURLOPT_WRITEDATA

設定回調函數中的void *userp指針的來源。

CURLOPT_URL

設定通路的URI。

CURLOPT_TIMEOUT

逾時時間。

CURLOPT_CONNECTIONTIMEOUT

連接配接等待時間。

CURLOPT_RANGE

斷點續傳,指定傳輸分片,格式:"0-200"

示例代碼1

curl簡單使用
curl簡單使用

View Code

示例代碼2

curl簡單使用
curl簡單使用

參考

[1]http://curl.haxx.se/libcurl/c/multithread.html

[2]http://blog.csdn.net/aaa20090987/article/details/7955918

[3]http://hi.baidu.com/445920201/item/99401f1674bf4b5e2a3e22b4

[4]http://blog.chinaunix.net/uid-20692625-id-3203258.html