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. 深入探索spring技术内幕(一): spring概述

    一.Spring是什么? Spring是一个开源的控制反转 ( IoC ) 和面向切面 ( AOP ) 的容器框架, 它的主要目的是简化企业开发. 二.控制反转(IoC) 控制反转: 所谓的控制反转就 ...

  2. C++练习 | 模板与泛式编程练习

    #include <iostream> #include <cmath> #include <cstring> #include <string> #i ...

  3. C++练习 | 掷骰子走到第n步的方法数(DFS)

    玩家根据骰子的点数决定步数,骰子点数为1的时候走一步,以此类推.求玩家走到第n步总共有多少种投骰子的方法.输入为一个整数n,输出为投骰子的方法数. #include <iostream> ...

  4. vlookup函数使用---execl公式

    目录 vlookup函数使用---execl公式 1.用途: 2.函数语法: 3.使用方式: 4.实际案例+步骤解析 5.常见错误 vlookup函数使用---execl公式 1.用途: 我们有一张工 ...

  5. [转]Python爬虫html解析工具beautifulSoup在pycharm中安装及失败的解决办法

    原文地址:https://www.cnblogs.com/yysbolg/p/9040649.html 刚开始学习一门技术最麻烦的问题就是搞定IDE环境,直接在PyCharm里安装BeautifulS ...

  6. 【ElasticSearch故障处理】OpenJDK 64-Bit Server VM warning

    [故障描述] VM虚拟机安装ElasticSearch集群,有三台Linux,完成安装后,执行启动命令:bin/elasticsearch -d . 运行结果报错: OpenJDK 64-Bit Se ...

  7. Docker部署大型互联网电商平台

    1.Docker简介 1.1虚拟化 1.1.1什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象 ...

  8. PMP考试通过

    经过3个月的努力,终于在10月8号,过完国庆假期,得知考试通过.虽然没有得到5A,只有4A,心也算落下了.备考的过程中,通过学习小组讨论,互相交流,辅导. 自己也对学习的知识加深印象.总结一下整个学习 ...

  9. 4.26-python学习笔记(变量及命名、字符串、格式化字符串print,format,%...)

    参考书目:<Learn Python The Hard Way> cars=100 print('there are ',cars,'cars available.') ##练习5 更多变 ...

  10. django无法加载样式

    如果运行的环境是win10,那么首先应该考虑是否是如下问题 win10中Django后台admin无法加载CSS等样式 解决: 修改win10的注册表:[win+R输入Regedit] 因为你安装的某 ...