最近在二次开发一个Yii框架项目,由于这个项目过于老旧,无法安装yiisoft/yii2-httpclient插件,所以只有使用curl原生实现调用远程接口
这里我整合了curl方法,来实现get和post传参调用远程接口,获取接口数据的方法,具体方法如下:
/**
* 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;
}
调用如上的方法就可以实现调用远程接口
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。