在后臺(tái)程序中經(jīng)常會(huì)從本系統(tǒng)請(qǐng)求其他系統(tǒng)的數(shù)據(jù),而php中的curl一般都需要好幾段代碼來(lái)實(shí)現(xiàn),這次我們把curl的功能封裝起來(lái)以便后續(xù)使用。
function Curl_request($url, $method = 'POST', $header = ["Content-type:application/json;charset=utf-8", "Accept:application/json"], $data = [])
{
$method = strtoupper($method);
//初始化
$ch = curl_init();
//設(shè)置橋接(抓包)
//curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');
//設(shè)置請(qǐng)求地址
curl_setopt($ch, CURLOPT_URL, $url);
// 檢查ssl證書(shū)
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 從檢查本地證書(shū)檢查是否ssl加密
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $url);
//設(shè)置請(qǐng)求方法
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
//設(shè)置請(qǐng)求頭
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
//設(shè)置請(qǐng)求數(shù)據(jù)
if (!empty($data)) {
// var_dump($data);die;
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
//設(shè)置curl_exec()的返回值以字符串返回
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
根據(jù)上述代碼就可以直接調(diào)用函數(shù)來(lái)實(shí)現(xiàn)請(qǐng)求接口,其中url傳請(qǐng)求地址,method傳請(qǐng)求方式默認(rèn)為post,header傳請(qǐng)求頭信息,data傳內(nèi)容。
再將接口進(jìn)行二次封裝,固定好ip和header,這樣我們?cè)俸罄m(xù)調(diào)用接口的時(shí)候就會(huì)方便很多