libCurl 初步认识 - cur easy

cur easy接口简洁明了,主接口4个,辅接口5个。

主接口

初始化 + 配参数 + 执行 + 销毁

 

初始化

CURL* curl_easy_init()

获得CURL句柄,返回值需要判空。

 

配参数

CURLcode curl_easy_setopt(CURL*, CURLoption,...)

CURLoption是枚举,指定配参数类型。

可变参数为具体配置值。

参数分类为五种:LONG整数值类型、OBJECTPOINT对象指针类型、STRINGPOINT字符串类型、FUNCTIONPOINT函数指针类型、OFF_T其他类型

 

执行

CURLcode curl_easy_perform(CURL*)

依照配参数执行网络请求

 

销毁

void curl_easy_cleanup(CURL*)

释放创建的句柄

 

辅接口

取参数 + 克隆CURL + 重置CURL + 网络收数据 + 网络发数据

 

取参数

CURLcode curl_easy_getinfo(CURL*,CURLINFO,...)

获取CURL运行中的中间数据(上传下载速度、已完成大小等)

CURLINFO为枚举,指定取参数的类型。

 

克隆CURL

CURL* curl_easy_duphandle(CURL*)

仅克隆内部数据和配置的参数,过程状态数据不克隆。

 

重置CURL

void curl_easy_reset(CURL*)

重置CURL内部数据和配置到初始的默认参数,使得指定CURL回到创建时候的状态。

 

网络收数据

CURLcode curl_easy_recv(CURL*,void* buff, size_t buffLen, size_t* recvLen)

从指定CURL句柄接受数据,放入指定的数据缓冲区中。

buff 数据缓冲区

buffLen 缓冲区大小

recvLen实际接受到的数据大小

 

网络发数据

CURLcode curl_easy_send(CURL*, const void* buff, size_t buffLen, size_t* sendLen)

从指定CURL发送缓冲区数据给服务端

buff数据缓冲区

buffLen缓冲区大小

sendLen 实际发送出去的数据大小

 

posted @ 2018-09-08 11:23  醉卧古藤下  阅读(360)  评论(0编辑  收藏  举报