在cURL中使用的函数一般是以下几个
第一步,初始化cURL会话
resource curl_init([ string $url = NULL] )
例如
$ch=curl_init(“www.baidu.com”)
第二步, 设置 cURL 传输选项
bool curl_setopt( resource $ch, int $option, mixed $value)
$option 配置常量 $value配置值
setopt中一些常用的设置
CURLOPT_SSL_VERIFYPEER FALSE 禁止 cURL 验证对等证书(peer'scertificate)。要验证的交换证书可以在 CURLOPT_CAINFO 选项中设置,或在 CURLOPT_CAPATH中设置证书目录。
CURLOPT_FAILONERROR true 放回错误信息
CURLOPT_RETURNTRANSFER true 放回结果
CURLOPT_HEADER true 显示协议
如果还要进行post传送数据
CURLOPT_POST true post表单提交
CURLOPT_POSTFIELDS 数据
配置ua
CURLOPT_USERAGENT ua数据
配置Header协议头
CURLOPT_HTTPHEADER 协议头
如果不写协议头,那么什么都不会带
配置COOKIE
CURLOPT_COOKIE COOKIE的值
第三步,执行 cURL 会话
mixed curl_exec( resource $ch)
第四步,curl_errno — 返回最后一次的错误代码
int curl_errno( resource $ch)
用来看是否有错误
第五步,关闭会话##
void curl_close( resource $ch)
以下是我写的一个curl的方法
public function cURL($url,$opt='GET',$head=null,$redirect=true,$ssl=false)
{
//初始化
$ch = curl_init($url);
//配置信息
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,$ssl);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,$ssl);
curl_setopt($ch,CURLOPT_FAILONERROR,true);//将返回错误信息
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//将返回正确信息
curl_setopt($ch,CURLOPT_HEADER,true);//显示协议头
if(is_array($opt))
{
//转小写
$opt = array_change_key_case($opt,CASE_LOWER);
//post传送
if(isset($opt['type']) && $opt['type'] = 'POST')
{
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,isset($opt['data'])?$opt['data']:'');
}
}
//执行会话
$re = curl_exec($ch);
//判断是否成功
if(curl_error($ch))
{
$re = curl_error($ch);
}
//结束会话
curl_close($ch);
return $re;
}