在后台程序中经常会从本系统请求其他系统的数据,而php中的curl一般都需要好几段代码来实现,这次我们把curl的功能封装起来以便后续使用。
function Curl_request($url, $method = 'POST', $header = ["Content-type:application/json;charset=utf-8", "Accept:application/json"], $data = [])
{
$method = strtoupper($method);
//初始化
$ch = curl_init();
//设置桥接(抓包)
//curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');
//设置请求地址
curl_setopt($ch, CURLOPT_URL, $url);
// 检查ssl证书
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 从检查本地证书检查是否ssl加密
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $url);
//设置请求方法
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
//设置请求头
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
//设置请求数据
if (!empty($data)) {
// var_dump($data);die;
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
//设置curl_exec()的返回值以字符串返回
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
根据上述代码就可以直接调用函数来实现请求接口,其中url传请求地址,method传请求方式默认为post,header传请求头信息,data传内容。
再将接口进行二次封装,固定好ip和header,这样我们再后续调用接口的时候就会方便很多