//发送请求方法
protected function CurlRequest($url,$type = null,$data=null,$header=null){
//初始化浏览器
$ch = curl_init();
//设置浏览器,把参数url传到浏览器的设置当中
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_NOBODY, false);
//以字符串形式返回到浏览器当中
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//禁止https协议验证域名,0就是禁止验证域名且兼容php5.6
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
//禁止https协议验证ssl安全认证证书
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//判断data是否有数据,如果有data数据传入那么就把curl的请求方式设置为POST请求方式
if ( !empty($data) ) {
switch ($type) {
case 'get':
//设置POST请求方式
@curl_setopt($curl, CURLOPT_HTTPGET, true);
break;
case 'post':
//设置POST请求方式
@curl_setopt($ch, CURLOPT_POST, true);
//设置POST的数据包
@curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
break;
case 'put':
//设置PUT请求方式
@curl_setopt($ch, CURLOPT_CUSTOMREQUEST,"PUT");
//设置POST的数据包
@curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
break;
case 'delete':
//设置POST请求方式
@curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
//设置POST的数据包
@curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
break;
default:
//设置POST请求方式
@curl_setopt($ch, CURLOPT_POST, true);
//设置POST的数据包
@curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
break;
}
}
// return $data;
//设置header头
if ( !empty($header) ) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
}
//让curl发起请求
$httpCode = curl_exec($ch); //获取返回信息
// $httpCode = curl_getinfo($ch); 获取CURL请求输出的相关信息
$errorCode = curl_errno($ch);
//关闭curl浏览器
curl_close($ch);
if(0 !== $errorCode) {
return false;
}
return json_decode($httpCode,true);
}