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 实际发送出去的数据大小
libCurl 初步认识 - cur easy的更多相关文章
- libcurl教程
名称 libcurl 的编程教程 目标 本文档介绍使用libcurl编程的一般原则和一些基本方法.本文主要是介绍 c 语言的调用接口,同时也可能很好的适用于其他类 c 语言的接口. 跨平台的可移植代码 ...
- Libcurl多线程crash问题(cento)
cento :http://blog.csdn.net/delphiwcdj/article/details/18284429 1 问题背景 后台系统有一个单线程的http接口,为了提高并发处理能力, ...
- linux c libcurl的简单使用(转)
curl是Linux下一个非常著名的下载库,通过这个库,可以很简单的实现文件的下载等操作.看一个简单的例子: #include <curl/curl.h> #include <std ...
- cocos2dx libcurl
转自:http://www.himigame.com/curl-libcurl/878.html 本篇介绍使用libcurl编程的一般原则和一些基本方法.本文主要是介绍 c 语言的调用接口,同时也可能 ...
- Libcurl细说
libcurl教程 原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html 译者:JGood(http://blog.csdn.net/J ...
- 笔记整理--LibCurl开发
LibCurl开发_未了的雨_百度空间 - Google Chrome (2013/7/26 21:11:15) LibCurl开发 一:LibCurl 编程流程1.调用curl_global_ini ...
- curl 基本使用简介
curl是Linux下一个非常著名的下载库,通过这个库,可以很简单的实现文件的下载等操作.看一个简单的例子: #include <curl/curl.h> #include <std ...
- lamp与lnmp的选择
lnmp和lamp业务上的不同 由于二者仅仅是区别在于web的选择,nginx更高效,占用资源更少,详情区别查看LNMP环境应用实践 lnmp和lamp安装上的不同 生产环境中,可能会遇到lamp架构 ...
- [译]libcurl_tutorial
Handle the Easy libcurl To use the easy interface, you must first create yourself an easy handle. Yo ...
随机推荐
- 寻找最小的k个数(四种方法)
1 使用从大到小的优先队列保存最小的K个数,每次取出K个数之后的其余数和堆顶元素比较,如果比堆顶元素小,则将堆顶元素删除,将该元素插入 void topK(int arr[],int n,int k) ...
- 弹性布局解决ios输入框遮挡input
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- STM32(5)——通用定时器基本定时器
1.STM32的Timer简介 STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器. 其中系统嘀嗒定时器是前文中所描述的S ...
- Java HashMap 源代码分析
Java HashMap jdk 1.8 Java8相对于java7来说HashMap变化比较大,在hash冲突严重的时候java7会退化为链表,Java8会退化为TreeMap 我们先来看一下类图: ...
- 【python3】——centos7下安装
centos7下安装python3总步骤分三步: 一.依赖解决: 1.安装依赖包: yum install zlib-devel bzip2-devel openssl-devel ncurses-d ...
- golang 项目实战简明指南
原文地址 开发环境搭建 golang 的开发环境搭建比较简单,由于是编译型语言,写好 golang 源码后,只需要执行 go build 就能将源码编译成对应平台(本文中默认为 linux)上的可执行 ...
- Go语言中结构体的使用-第2部分OOP
1 概述 结构体的基本语法请参见:Go语言中结构体的使用-第1部分结构体.结构体除了是一个复合数据之外,还用来做面向对象编程.Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. ...
- HTTP1.0,HTTP1.1,HTTP2.0的主要特征对比
HTTP1.0 是一种无状态.无连接的应用层协议. HTTP1.0规定浏览器和服务器保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器处理完成后立即断开TCP连接(无连接),服务 ...
- sqlserver之group by 与over函数
group by 函数主要用来对数据进行分组,over()函数则是一个“开窗函数”,它更多的是与聚合函数如:sum().max().min().avg().count()等函数以及排名函数如:row_ ...
- C#的Dispose模式复习
http://www.cnblogs.com/DebugLZQ/archive/2012/08/28/2659189.html http://www.cnblogs.com/tsoukw/archiv ...