PHP Curl学习笔记
$ch = curl_init();
//初始化,如果传递数据为Post,没传为Get
//跳过证书验证
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//设置请求服务器地址
curl_setopt($ch, CURLOPT_URL, $this->url);
//post传输需用CURLOPT_POST参数
if(!empty($data)){
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
//如果有返回需求
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
url_close($ch);
return $result;
//如果没有,则可直接输出
curl_exec($ch);
curl_close($ch);
基本用法
- 初始化开启
$ch = curl_init();
- 设置选项和url
curl_setopt($ch,CURLOPT_URL,"http://www.devdo.net");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 1可为true
curl_setopt($ch,CURLOPT_HEADER,0);
//CURLOPT_RETURNTRANSFER后跟1是为了之后执行的exec返回内容是字符串。
- 执行并且获取html文档内容
$output = curl_exec($ch);
//如果没有错误 返回的对于url返回的数据,如发生错误返回false。
- 释放关闭curl
curl_close($ch);
获取curl请求的输出信息
在curl_exec执行后,可以用curl_getinfo()获得输出信息(返回是一个数组)
例:
curl_exec($ch);
$info = curl_getinfo($sh);
echo ' 获取 '.$info['url'].'耗时'.$info['total_time'].'秒';
curl发送get请求
将url通过http_build_query拼接
$url = $url.'?'.http_build_query($data);
$ch = curl_init((string)$url);
curl_setopt()...
...
return curl_exec($ch );
curl发送post,看是否有数据有数据,有执行
if(!empty($data)){
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}