curl模块提供的相关Php函数
2018-10-29 本文已影响6人
爱折腾的傻小子
在使用curl相关函数需要加载指定的curl模块
- curl_init():创建一个curl会话,返回一个cURL句柄。
resource curl_init( [string $url = NULL] )
>> 返回一个资源类型。
>> 可选参数:$url;如果设置该参数,CURLOPT_URL将被设置成这个值。
>> CURLOPT_URL:需要获取的URL地址。也可以通过**curl_setopt()**函数设置
>> 该返回的句柄,供 **curl_setopt()** 、**curl_exec()** 、**curl_close()**函数的使用
- curl_setopt():设置一个cURL传输选项。(该函数每次只能传递一个参数)
bool curl_setopt (resource $ch, int $option, mixed $value)
>> 类似于设置请求头相关信息。成功是返回True,失败时返回False。
>> $option:参数详细参考curl_setopt手册
- 如果想让抓取的数据不直接返回给浏览器,设置** CURLOPT_RETURNTRANSFER** 为 True 即可。
- curl_setopt_array():为cURL传输会话批量设置选项。(该函数不需要多次curl_setopt函数)
>> 和curl_setopt函数的使用方式一致。(就是在传递时,采用数组的形式)
bool curl_setopt_array(resource $ch, array $options)
>> 全部选项都被设置成功时,返回True。如果摸一个不能成功返回False,后面的选项不在执行。
- curl_escape():使用URL编码给定的字符串
string curl_escape(resource $ch, string $str):编码字符串$str
>> 成功时,返回编码的字符串;否则返回 False
>> 使用的编码是:RFC 3986 (返回编码的字符串)
>> 如:laravel/id --(编码)--> laravel%2Fid
- curl_unescape():解码给定的URL编码字符串
string curl_unescape(resource $ch, string $str):该函数解码给定的URL编码的字符串
>> 成功时,返回解码的字符串;否则返回 False
>> 和上面的curl_escape()函数相呼应。(curl_unescape不会解析+为空格)
>> 如:laravel%2Fid --(解码)--> laravel/id
- curl_close():关闭一个会话
void curl_close( resource $ch )
- curl_getinfo():获取一个cURL连接资源句柄的信息
mixed curl_getinfo( resource $ch [,int $opt = 0] ) //> 获取最后一次传输的相关信息。
//> 更多信息,参看手册
- curl_reset():重置libcurl的会话句柄的所有选项
void curl_reset(resource $ch)
cURL:调试错误,相关函数:
- curl_error():返回一个保护当前会话最近一次错误的字符串。
string curl_error(resource $ch):返回一条最近一次cURL操作明确的文本的错误信息
>> $ch:参数为打开的句柄
>> 返回错误信息;如果返回''(空字符串)表示没有任何错误发生
- curl_errno():返回最后一次的错误号。
int curl_errno(resource $ch):返回最后一次cURL操作的错误号
>> $ch:参数为打开的句柄
>> 返回错误号;如果返回0,表示没有错误发生(错误号对应的相关错误信息,查看手册)
cURL获取版本函数
- curl_version():获取cURL版本信息
array curl_version([ int $age = CURVERSION_NOW ]):返回关于cURL的版本信息
>> 返回的是一个数组类型。
>> 数组中相关参数,参考手册curl_version函数
cURL用法实例