利用cURL请外部接口

昨天有一个需求,就是需要把获取到的百度地图信息存储到百度地图LBS云储存上

看了一下LBS云储存,说白了就是通过接口操作云数据库,所以写了一个通用的cURL函数

代码如下:

/**
 * @param $url              要访问的目标地址
 * @param bool $https       是否是https协议
 * @param string $method    请求类型get|post
 * @param null $data        请求的参数
 * @return mixed            返回参数json
 */
function lbs_curl($url,$https=true,$method='get',$data=null)
{
    //初始化一个cURL会话
    $ch = curl_init($url);
    //curl_setopt — 设置一个cURL传输选项
    //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

    if($https == true)
    {
        //禁用后cURL将终止从服务端进行验证
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
        //检查服务器SSL证书中是否存在一个公用名(common name)
        //检查公用名是否存在,并且是否与提供的主机名匹配
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
    }
    if ($method == 'post')
    {
        //启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样
        curl_setopt($ch,CURLOPT_POST,true);
        //全部数据使用HTTP协议中的"POST"操作来发送
        curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
    }
    //在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出
    curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
    //执行一个cURL会话
    $str = curl_exec($ch);
    //关闭一个cURL会话
    curl_close($ch);
    return $str;
}

 

posted @ 2018-02-02 10:12  郭德纲又打人了嘿  阅读(190)  评论(0编辑  收藏  举报