curl中的get请求
/**
* $url 请求地址
*/
protected function curl_get($url)
{
//初始化
$curl = curl_init();
$removeBom = function($url) { return preg_replace('/\\0/', "", $url); };
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
//设置抓取的url
curl_setopt($curl,CURLOPT_URL,$removeBom($url));
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);
//执行命令
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
//显示获得的数据
return $data;
}
curl中的post请求
/**
* $url 请求地址
* $post_data 请求的数据(数组)
* $isTrue 是否将数据转换成json
*/
protected function curl_post($url,$post_data,$isTrue = true)
{
if ($isTrue) {
$post_data = json_encode($post_data);
}
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
if(stripos($url,"https://")!==FALSE){
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
// curl_setopt($ch, CURLOPT_SSL_VERIFYHOSTIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
} else {
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验
}
//设置header
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
//设置超时
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, TRUE);
//传输文件
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//运行curl
$data = curl_exec($ch);
//返回结果
curl_close($ch);
return $data;
}