Curl笔记

基础示例:

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($ch, CURLOPT_URL, $url);
//curl_setopt($ch, CURLOPT_TIMEOUT, 500);
//curl_setopt($ch, CURLOPT_POST,  true );
//curl_setopt($ch, CURLOPT_POSTFIELDS,  $data); #上传文件时指定文件字段为: 文件名前面加上@前缀并使用完整路径
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

$res = curl_exec($ch);
curl_close($ch);



## curl也可用array传入选项参数
curl_setopt_array($ch, array(
	CURLOPT_URL             =>    'http://www.example.com/',
	CURLOPT_RETURNTRANSFER  =>     true,
));


常用函数

curl_init()函数的作用初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址
curl_setopt ― 为一个curl设置会话参数
curl_setopt_array ― 以数组的形式为一个curl设置会话参数
curl_exec()函数的作用是执行一个curl会话,唯一的参数是curl_init()函数返回的句柄
curl_close()函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄

curl_copy_handle ― 拷贝一个curl连接资源的所有内容和参数
curl_errno ― 返回一个包含当前会话错误信息的数字编号
curl_error ― 返回一个包含当前会话错误信息的字符串
curl_getinfo ― 获取一个curl连接资源句柄的信息
curl_multi_add_handle ― 向curl批处理会话中添加单独的curl句柄资源
curl_multi_close ― 关闭一个批处理句柄资源
curl_multi_exec ― 解析一个curl批处理句柄
curl_multi_getcontent ― 返回获取的输出的文本流
curl_multi_info_read ― 获取当前解析的curl的相关传输信息
curl_multi_init ― 初始化一个curl批处理句柄资源
curl_multi_remove_handle ― 移除curl批处理句柄资源中的某个句柄资源
curl_multi_select ― 获得curl批处理句柄
curl_version ― 获取curl相关的版本信息


相关常量包括:

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 SSL的认证结果
CURLINFO_CONTENT_LENGTH_DOWNLOAD 从Content-Length: field中读取的下载内容长度
CURLINFO_CONTENT_LENGTH_UPLOAD 上传内容大小的说明
CURLINFO_CONTENT_TYPE 响应的Content-type,NULL为服务器未发送有效的Content-Type

你可能感兴趣的:(curl)