最近在二次开发一个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