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的更多相关文章

  1. libcurl教程

    名称 libcurl 的编程教程 目标 本文档介绍使用libcurl编程的一般原则和一些基本方法.本文主要是介绍 c 语言的调用接口,同时也可能很好的适用于其他类 c 语言的接口. 跨平台的可移植代码 ...

  2. Libcurl多线程crash问题(cento)

    cento :http://blog.csdn.net/delphiwcdj/article/details/18284429 1 问题背景 后台系统有一个单线程的http接口,为了提高并发处理能力, ...

  3. linux c libcurl的简单使用(转)

    curl是Linux下一个非常著名的下载库,通过这个库,可以很简单的实现文件的下载等操作.看一个简单的例子: #include <curl/curl.h> #include <std ...

  4. cocos2dx libcurl

    转自:http://www.himigame.com/curl-libcurl/878.html 本篇介绍使用libcurl编程的一般原则和一些基本方法.本文主要是介绍 c 语言的调用接口,同时也可能 ...

  5. Libcurl细说

    libcurl教程   原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html 译者:JGood(http://blog.csdn.net/J ...

  6. 笔记整理--LibCurl开发

    LibCurl开发_未了的雨_百度空间 - Google Chrome (2013/7/26 21:11:15) LibCurl开发 一:LibCurl 编程流程1.调用curl_global_ini ...

  7. curl 基本使用简介

    curl是Linux下一个非常著名的下载库,通过这个库,可以很简单的实现文件的下载等操作.看一个简单的例子: #include <curl/curl.h> #include <std ...

  8. lamp与lnmp的选择

    lnmp和lamp业务上的不同 由于二者仅仅是区别在于web的选择,nginx更高效,占用资源更少,详情区别查看LNMP环境应用实践 lnmp和lamp安装上的不同 生产环境中,可能会遇到lamp架构 ...

  9. [译]libcurl_tutorial

    Handle the Easy libcurl To use the easy interface, you must first create yourself an easy handle. Yo ...

随机推荐

  1. 结构之美——优先队列基本结构(四)——二叉堆、d堆、左式堆、斜堆

    实现优先队列结构主要是通过堆完成,主要有:二叉堆.d堆.左式堆.斜堆.二项堆.斐波那契堆.pairing 堆等. 1. 二叉堆 1.1. 定义 完全二叉树,根最小. 存储时使用层序. 1.2. 操作 ...

  2. goldengate简单配置

    goldendate配置单项同步 源数据库    extract抽取进程 trail文件 复制进程 目标进程 由于最开始配置goldengate的时候,没有弄清除原理,导致出错了都不知道怎么解决. 最 ...

  3. Oracle服务

    oracle服务 参考网址:http://www.oraclejsq.com/article/010100132.html Oracle在window下安装完毕,会安装很多服务,如下图: 1.Orac ...

  4. iOS:时间相关(18-10-13更)

    先整理出时间相关的程序,以后有空再写成单例. 1.日历(NSCalendar) 2.时间格式() 3.时间戳 附录: 1.定时器 1.日历(NSCalendar) 1.想要获取 世纪.年.月.日.时. ...

  5. OSI参考模型和TCP/IP模型基本知识

    OSI七层模型 为了解决网络之间的兼容性问题,实现网络设备间的相互通信,ISO于1984年提出的OSI参考模型(开放系统互连参考模型).但是由于种种原因,并没有一种完全忠实于OSI参考模型的协议族流行 ...

  6. MongoDB4.0在windows10下的安装与服务配置

    本地安装及网页测试 在官网下载最新的安装文件 下载地址 : https://www.mongodb.com/download-center#community 可以在MongoDB官网选择Commun ...

  7. 解决在 win10 下 vs2017 中创建 MFC 程序拖放文件接收不到 WM_DROPFILES 消息问题

    解决方案 这个问题是由于 win10 的安全机制搞的鬼,即使以管理员权限运行也不行,因为它会把 WM_DROPFILES 消息过滤掉,那怎么办呢?只需在窗口初始化 OnInitDialog() 里添加 ...

  8. MySQL事务异常

    在做大屏系统的时候,遇到十分奇怪的问题,同样的代码,测试环境插入与更新操作正常,但是上了生产环境之后,插入与更新不生效, 插入数据的时候,主键会自增,但是查询表中没有数据,同样一个@Transacti ...

  9. markupsafe._compat出错的解决办法

    在windows下用pip进行安装的flask和freeze会在运行程序的时候出现报错 markupsafe._compat出错,那么此时找到对应的pip文件夹下自己创建一个_compat.py 然后 ...

  10. Java基础——JVM内存结构

    推荐阅读:https://www.cnblogs.com/wangjzh/p/5258254.html 一.内存结构图 先导知识: 一个 Java 源程序文件,会被编译为字节码文件(以 class 为 ...