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 ...
随机推荐
- 字符型设备驱动程序-first-printf以及点亮LED灯(二)
编译这几个函数之前要学一下:Linux 的几个操作命令. 学习地址:http://edu.51cto.com/lesson/id-101824.html 重要的命令 有4个 :分别是 1.lsmod, ...
- 信息: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level
四月 , :: 下午 org.apache.coyote.http11.AbstractHttp11Processor process 信息: Error parsing HTTP request h ...
- Oracle 12.2 设置LOCAL_TEMP_TABLESPACE
12.2 设置LOCAL_TEMP_TABLESPACE SQL> select username,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,LOCAL_ ...
- http 协议状态码
1xx 信息类状态码 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分.(HTTP 1.1新) 101 - Switching Protocols 服务器将遵从客户 ...
- javascript设计模式系列二-封装
JavaScript封装: var Book = function (id, name, price) { this.id = id, this.name = name, this.price = p ...
- scrapy管道MySQL简记
import pymysqlfrom scrapy.exceptions import DropItemimport time class ErshouchePipeline(object): def ...
- Redis API的理解与使用
目录 一.通用命令 二.数据结构与内部编码 三.单线程架构 一.通用命令 Redis有五种数据结构,它们是键值对中的值,对于键来说有一些通用的命令.Redis的全局通用命令有:keys,dbsize, ...
- laravel5.5源码笔记(四、路由)
今天这篇博文来探索一下laravel的路由.在第一篇讲laravel入口文件的博文里,我们就提到过laravel的路由是在application对象的初始化阶段,通过provider来加载的.这个路由 ...
- Maven plugin插件---appassembler-maven-plugin快速配置
使用appassembler-maven-plugin 打包自定义目录 1.Pom中添加 <plugin> <artifactId>maven-resources-plugin ...
- vs+qt编程相关
vs+qt编程的那些事 以下以helloqt项目为例 文件构成 Form Files 窗体文件 /*.ui 界面文件 Generated Files 界面生成文件 /ui_helloqt.h 添加带界 ...