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 实际发送出去的数据大小