天天看点

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