最近自己在写公司的接口 好久没发内容了

自己写接口用过很多次的curl 把代码封装起来方便调用 直接发代码

/**
 * CURL发送请求
 * @param type $url 地址
 * @param type $method 请求方式
 * @param type $data 请求参数
 * @param type $header 请求头
 * @return 返回参数
 */
function curl($url,$method='GET',$data=null,$header=null)
{
    // 启动一个CURL会话
    $curl = curl_init();
    // 要访问的地址
    curl_setopt($curl,CURLOPT_URL,$url);
    //返回数据不直接输出
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
    curl_setopt($curl, CURLOPT_HEADER, true); // 显示返回的Header区域内容

    // curl 请求头设置
    if(!empty($header))
    {
        curl_setopt($curl, CURLOPT_HTTPHEADER, $header); // 模拟参数传递
    }
    else
    {
        curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
    }

    // https
    // https请求 不验证证书和hosts  php版本过低需要开启此项 否则会无法访问https的地址
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
    // 从证书中检查SSL加密算法是否存在(默认不需要验证  php版本过低需要开启此项 否则会无法访问https的地址
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

    //如果是post请求
    if($method === 'POST' || $method === 'post')
    {
        //开启发送post请求选项
        curl_setopt($curl,CURLOPT_POST,true);
        //发送post的数据
        curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
    }
    //发送请求
    $res = curl_exec($curl);
    // 返回参数包含请求头 则此条无效
    // $data = json_decode($res,JSON_UNESCAPED_UNICODE);
    // 获取响应头大小
    $headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
    // 根据头大小去获取头信息内容
    $header = substr($res, 0, $headerSize);
    // 根据头大小去获取响应信息内容
    $body = substr($res, $headerSize);
    // 获取http状态码
    $return_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    if(substr($body,0,1) != '{')
    {
        $body = htmlspecialchars($body);
    }
    //关闭连接
    curl_close($curl);
    $arr = [
        'header' => $header,
        'body' => $body,
        'return_code' => $return_code,
    ];
    $res = json_encode($arr);
    return $res;
}