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

调用如上的方法就可以实现调用远程接口


huaweichenai
635 声望114 粉丝