PHP cURL 函数封装

概念描述

CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,可以使用cURL实现Get和Post请求的方法。

应用场景

在开发中服务端调用API 时,经常用到向第三方API发起GET 或 POST 请求,然后得到返回结果,有可能是 json 或者 xml ,甚至 我们需要配置一些HTTP 协议 头信息一起发起请求。这时候就需要用到 cURL 。 比如、天气预报借口、微信接口、支付接口等。

函数代码

/

  • [cUrl cURL(支持HTTP/HTTPS,GET/POST)]

  • @author 邱关友

  • @copyright 烟火里的尘埃

  • @version [V1.0版本]

  • @date 2016-05-30

  • @param [type] $url [请求地址]

  • @param [Array] $header [HTTP Request headers 例如 ['App-Key:'.$app_key,]]

  • @param [Array] $data [参数数据]

  • @return [type] [如果服务器返回xml则返回xml,不然则返回json]
    */
    public static function cUrl($url,$header=null, $data = null){
    //初始化curl
    $curl = curl_init();
    //设置cURL传输选项

      if(is_array($header)){      curl_setopt($curl, CURLOPT_HTTPHEADER  , $header);  }  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  curl_setopt($curl, CURLOPT_URL, $url);  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);  if (!empty($data)){//post方式      curl_setopt($curl, CURLOPT_POST, 1);      curl_setopt($curl, CURLOPT_POSTFIELDS, $data);  }  //获取采集结果  $output = curl_exec($curl);  //关闭cURL链接  curl_close($curl);  //解析json  $json=json_decode($output,true);  //判断json还是xml  if ($json) {      return $json;  }else{      # 验证xml      libxml_disable_entity_loader(true);      # 解析xml      $xml = simplexml_load_string($output, 'SimpleXMLElement', LIBXML_NOCDATA);      return $xml;  }

    }

关键字:php, 微信开发, curl, JSON


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部