最近在二次開發一個Yii框架項目,因爲這個項目過於老舊,沒法安裝yiisoft/yii2-httpclient插件,因此只有使用curl原生實現調用遠程接口json
這裏我整合了curl方法,來實現get和post傳參調用遠程接口,獲取接口數據的方法,具體方法以下:yii2
/** * curl */ public static function httpRequest($url, $format = 'get', $data = null){ //設置頭信息 $headerArray =array("Content-type:application/json;","Accept:application/json"); $curl=curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if ($format == 'post') { //post傳值設置post傳參 curl_setopt($curl, CURLOPT_POST, 1); if ($data) { $data = json_encode($data); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } } curl_setopt($curl, CURLOPT_TIMEOUT,10); //設置超時時間 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray); $data=json_decode(curl_exec($curl), true); curl_close($curl); //返回接口返回數據 return $data; }
調用如上的方法就能夠實現調用遠程接口app