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