CURL库的宏定义列表

列表CURL库一共有17个函数
  • curl_close:关闭CURL会话
  • curl_copy_handle:复制一个CURL会话句柄,同时3复制其所有参数
  • curl_errno:返回最后一个错误码
  • curl_error:返回一个字符串,用以描述当前会话的最后一个错误
  • curl_exec:执行当前会话
  • curl_getinfo:获取特定信息
  • curl_init:初始化CURL会话
  • curl_multi_add_handle:在一个多连接会话中添加一个句柄
  • curl_multi_close:关闭一个多句柄CRUL会话
  • curl_multi_exec:执行一个多句柄CURL会话
  • curl_multi_getcontent:返回一个句柄执行后的内容,如果设置了CURLOPT_RETURNTRANSFER
  • curl_multi_info_read:获取当前所有连接的信息
  • curl_multi_init:初始化一个多句柄会话
  • curl_multi_remove_handle:从一个多句柄会话中删除一个句柄
  • curl_multi_select:获取所有绑定的套接字
  • curl_setopt:设置CURL传输选项
  • curl_version:获取CURL版本
常用设置选项布尔值选项
  • CURLOPT_AUTOREFERER:当返回的信息头含有转向信息时,自动设置前向连接
  • CURLOPT_BINARYTRANSFER:TRUEtoreturntherawoutputwhenCURLOPT_RETURNTRANSFERisused.
  • CURLOPT_COOKIESESSION:标志为新的cookie会话,忽略之前设置的cookie会话
  • CURLOPT_CRLF:将Unix系统的换行符转换为Dos换行符
  • CURLOPT_DNS_USE_GLOBAL_CACHE:使用全局的DNS缓存
  • CURLOPT_FAILONERROR:忽略返回错误
  • CURLOPT_FILETIME:获取请求文档的修改日期,该日期可以用curl_getinfo()获取。
  • CURLOPT_FOLLOWLOCATION:紧随服务器返回的所有重定向信息
  • CURLOPT_FORBID_REUSE:当进程处理完毕后强制关闭会话,不再缓存供重用
  • CURLOPT_FRESH_CONNECT:强制建立一个新的会话,而不是重用缓存的会话
  • CURLOPT_HEADER:在返回的输出中包含响应头信息
  • CURLOPT_HTTPGET:设置HTTP请求方式为GET
  • CURLOPT_HTTPPROXYTUNNEL:经由一个HTTP代理建立连接
  • CURLOPT_NOBODY:返回的输出中不包含文档信息.
  • CURLOPT_NOPROGRESS:禁止进程级别传输,PHP自动设为真
  • CURLOPT_NOSIGNAL:忽略所有发往PHP的信息
  • CURLOPT_POST:设置POST方式提交数据,POST格式为application/x-www-form-urlencoded
  • CURLOPT_PUTTRUE:设置PUT方式上传文件,同时设置CURLOPT_INFILE和CURLOPT_INFILESIZE
  • CURLOPT_RETURNTRANSFER:返回字符串,而不是调用curl_exec()后直接输出
  • CURLOPT_SSL_VERIFYPEER:SSL验证开启
  • CURLOPT_UNRESTRICTED_AUTH:一直链接后面附加用户名和密码,同时设置CURLOPT_FOLLOWLOCATION
  • CURLOPT_UPLOAD:准备上传
整数值选项

CURLOPT_BUFFERSIZE:缓存大小

CURLOPT_CONNECTTIMEOUT:连接时间设置,默认0为无限制

CURLOPT_DNS_CACHE_TIMEOUT:内存中保存DNS信息的时间,默认2分钟

CURLOPT_INFILESIZE:上传至远程站点的文件尺寸

CURLOPT_LOW_SPEED_LIMIT:传输最低速度限制andabort.

CURLOPT_LOW_SPEED_TIME:传输时间限制

CURLOPT_MAXCONNECTS:最大持久连接数

CURLOPT_MAXREDIRS:最大转向数

CURLOPT_PORT:连接端口

CURLOPT_PROXYAUTH:代理服务器验证方式

CURLOPT_PROXYPORT:代理服务器端口

CURLOPT_PROXYTYPE:代理服务器类型

CURLOPT_TIMEOUT:CURL函数的最大执行时间

字符串选项
  • CURLOPT_COOKIE:HTTP头中set-cookie中的cookie信息
  • CURLOPT_COOKIEFILE:包含cookie信息的文件,cookie文件的格式可以是Netscape格式,或者只是HTTP头的格式
  • CURLOPT_COOKIEJAR:连接结束后保存cookie信息的文件
  • CURLOPT_CUSTOMREQUEST:自定义请求头,使用相对地址
  • CURLOPT_ENCODING:HTTP请求头中Accept-Encoding的值
  • CURLOPT_POSTFIELDS:POST格式提交的数据内容
  • CURLOPT_PROXY:代理通道
  • CURLOPT_PROXYUSERPWD:代理认证用户名和密码
  • CURLOPT_RANGE:返回数据的范围,以字节记
  • CURLOPT_REFERER:前向链接
  • CURLOPT_URL:要连接的URL地址,可以在curl_init()中设置
  • CURLOPT_USERAGENT:HTTP头中User-Agent的值
  • CURLOPT_USERPWD:连接种使用的验证信息
数组选项

CURLOPT_HTTP200ALIASES:200响应码数组,数组中的响应吗被认为是正确的响应

CURLOPT_HTTPHEADER:自定义请求头信息

只能是流句柄的选项:

CURLOPT_FILE:传输要写入的晚间句柄,默认是标准输出

CURLOPT_INFILE:传输要读取的文件句柄

CURLOPT_STDERR:作为标准错误输出的一个替换选项

CURLOPT_WRITEHEADER:传输头信息要写入的文件

回调函数选项

CURLOPT_HEADERFUNCTION:拥有两个参数的回调函数,第一个是参数是会话句柄,第二是HTTP响应头信息的字符串。使用此回调函数,将自行处理响应头信息。响应头信息按行返回。设置返回值为字符串长度。

CURLOPT_READFUNCTION:拥有两个参数的回调函数,第一个是参数是会话句柄,第二是HTTP响应头信息的字符串。使用此函数,将自行处理返回的数据。返回值为数据尺寸。

CURLOPT_WRITEFUNCTION:拥有两个参数的回调函数,第一个是参数是会话句柄,第二是HTTP响应头信息的字符串。使用此回调函数,将自行处理响应头信息。响应头信息是整个字符串。设置返回值为字符串长度

  • CURLINFO_EFFECTIVE_URL - 最后一个有效的URL地址
  • CURLINFO_HTTP_CODE - 最后一个收到的HTTP代码
  • CURLINFO_FILETIME - 远程获取文档的时间,如果无法获取,则返回值为“-1”
  • CURLINFO_TOTAL_TIME - 最后一次传输所消耗的时间
  • CURLINFO_NAMELOOKUP_TIME - 名称解析所消耗的时间
  • CURLINFO_CONNECT_TIME - 建立连接所消耗的时间
  • CURLINFO_PRETRANSFER_TIME - 从建立连接到准备传输所使用的时间
  • CURLINFO_STARTTRANSFER_TIME - 从建立连接到传输开始所使用的时间
  • CURLINFO_REDIRECT_TIME - 在事务传输开始前重定向所使用的时间
  • CURLINFO_SIZE_UPLOAD - 上传数据量的总值
  • CURLINFO_SIZE_DOWNLOAD - 下载数据量的总值
  • CURLINFO_SPEED_DOWNLOAD - 平均下载速度
  • CURLINFO_SPEED_UPLOAD - 平均上传速度
  • CURLINFO_HEADER_SIZE - header部分的大小
  • CURLINFO_HEADER_OUT - 发送请求的字符串
  • CURLINFO_REQUEST_SIZE - 在HTTP请求中有问题的请求的大小
  • CURLINFO_SSL_VERIFYRESULT - 通过设置CURLOPT_SSL_VERIFYPEER返回的SSL证书验证请求的结果
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD - 从Content-Length: field中读取的下载内容长度
  • CURLINFO_CONTENT_LENGTH_UPLOAD - 上传内容大小的说明
  • CURLINFO_CONTENT_TYPE - 下载内容的Content-Type:值,NULL表示服务器没有发送有效的Content-Type: header
时间: 2024-10-08 09:58:28

CURL库的宏定义列表的相关文章

CURL 宏定义列表

摘自http://blog.csdn.net/msda/article/details/38047809/ CURL 宏定义列表 列表CURL库一共有17个函数 curl_close:关闭CURL会话 curl_copy_handle:复制一个CURL会话句柄,同时3复制其所有参数 curl_errno:返回最后一个错误码 curl_error:返回一个字符串,用以描述当前会话的最后一个错误 curl_exec:执行当前会话 curl_getinfo:获取特定信息 curl_init:初始化CU

6、C_宏定义与预处理、函数与函数库

C语言预处理理论 由源码到可执行程序的过程 源码.c->(编译)->elf可执行程序 源码.c->(编译)->目标文件.o->(链接)->elf可执行程序 源码.c->(编译)->汇编文件.S->(汇编)->目标文件.o->(链接)->elf可执行程序 源码.c->(预处理)->预处理过的.i源文件->(编译)->汇编文件.S->(汇编)->目标文件.o->(链接)->elf可执行程序

typedef 类型重命名 和 #define 宏定义(1)

http://www.blogjava.net/jasmine214--love/archive/2010/11/29/339307.html 在现实生活中,信息的概念可能是长度,数量和面积等.在C语言中,信息被抽象为int.float和double等基本数据类型.从基本数据类型名称上, 不能够看出其所代表的物理属性,并且int.float和double为系统关键字,不可以修改.为了解决用户自定义数据类型名称的需求,C语言中引入类 型重定义语句typedef,可以为数据类型定义新的类型名称,从而

C中的预编译宏定义

文章来自 http://www.uml.org.cn/c++/200902104.asp 在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理. C初学者可能对预处理器没什么概念, 这是情有可原的: 一般的C编译器都将预处理, 汇编, 编译, 连接过程集成到一起了. 编译预处理往往在后台运行. 在有的C编译器中, 这些过程统统由

C语言可变参数在宏定义中的应用

在C语言的标准库中,printf.scanf.sscanf.sprintf.sscanf这些标准库的输入输出函数,参数都是可变的.在调试程序时,我们可能希望定义一个参数可变的输出函数来记录日志,那么用可变参数的宏是一个不错的选择. 在C99中规定宏也可以像函数一样带可变的参数,如: #define LOG(format, ...) fprintf(stdout, format, __VA_ARGS__) 其中,...表示可变参数列表,__VA_ARGS__在预处理中,会被实际的参数集(实参列表)

CURL库在C++程序中的运用浅析

最近由于要做一个爬虫项目,要对很多网站进行爬取,所以一直都在看这方面的文章.在翻阅了很多资料后,下载了一个curl库,着实对项目有了很大的帮助. 一.LibCurl基本编程框架 二.一些基本的函数 三.curl_easy_setopt函数部分选项介绍 四.curl_easy_perform 函数说明(error 状态码) 五.libcurl使用的HTTP消息头六.获取http应答头信息 七.多线程问题 八.什么时候libcurl无法正常工作 九.关于密码 十.HTTP验证 十一.代码示例 1.基

C在宏定义中使用的语言可变参数

于C标准库的语言,printf.scanf.sscanf.sprintf.sscanf入输出函数,參数都是可变的.在调试程序时.我们可能希望定义一个參数可变的输出函数来记录日志,那么用可变參数的宏是一个不错的选择. 在C99中规定宏也能够像函数一样带可变的參数,如: #define LOG(format, ...) fprintf(stdout, format, __VA_ARGS__) 当中,...表示可变參数列表,__VA_ARGS__在预处理中,会被实际的參数集(实參列表)所替换. 同一时

(一)预定义宏、__func__、_Pragma、变长参数宏定义以及__VA_ARGS__

作为第一篇,首先要说一下C++11与C99的兼容性. C++11将 对以下这些C99特性的支持 都纳入新标准中: 1) C99中的预定义宏 2) __func__预定义标识符 3) _Pragma操作符 4) 不定参数宏定义以及__VA_ARGS__ 5) 宽窄字符串连接 这些特性并不像语法规则一样常用,并且有的C++编译器实现也都先于标准地将这些特性实现,因此可能大多数程序员没有发现这些不兼容.但将这些C99的特性在C++11中标准化无疑可以更广泛地保证两者的兼容性.我们来分别看一下. 这次,

笔记3:预处理器-(2)宏定义

#define指令称为宏定义指令,通常用#define指令来定义一个宏用来代表其他东西的一个名字(如常量表达式等).通常来说预处理器会通过将宏的名字和它的定义存储在一起来响应#define指令.当这个宏在后面的程序中使用到时,预处理器会"扩展"宏,将宏替换为其定义值. 简单的宏 简单的宏的定义格式: #define 标识符 替换列表 如: #define DTE_LEN 80 #define TRUE 1 #define FALSE 0 #define PI 3.1415926 #de