curl详细用法,这个是我个人在做微信开的时候封的一个方法,完整,通俗易懂,好用!


下面是我封装好的一个curl方法!传入对应的参数后直接使用


$apiurl='http://www.baidu.com';


//打印出我想抓取的网址的内容,一般是xml形式的字符串,但是不是xml,需要把字符串转为xml对象,使用simplexml_load_string这个函数,,因为一般操作xml里面的数据有点麻烦,我们通常都会将数据转为json格式,方便直接我们使用和操作数据,将xml对象转为json函数为json_encode,得到json格式的数据,

然后再将json数据解密,使用json_decode,记得要转为数组,说了这么多,给大家演示一个吧,怕有些孩子不会,

比如我们在上面的换为 $xml_str=_request($apiurl,true,'get');,然后操作进行下面操作

//①:将返回的数据(返回的是字符串)转为xml对象

$xml=simplexml_load_string($xml_str);

//②:将xml对象转为json格式(json加密)

$json=json_encode($xml);

//③将json格式解密,同时转为数组,方便我们访问数据

$json_arr=json_decode($json,true); //后面这true 参数表示转为数组形式,如果没有的话它将解密为一个json对象,具体可以自己看看php手册的详细权威解释

这样之后我们就得到一个数组了,这个数组里面装有我们需要的数据,一般都是多为数组,但是不复杂!想怎么用旧就怎么用了,


下面是一个封装好了的方法

//封装好了的curl方法
function _request($curl, $https=true, $method='get', $data=null){
    $ch = curl_init();//初始化
    curl_setopt($ch, CURLOPT_URL, $curl);//设置访问的URL
    curl_setopt($ch, CURLOPT_HEADER, false);//设置不需要头信息
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//只获取页面内容,但不输出
    if($https){
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//不做服务器认证
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//不做客户端认证
    }
    if($method == 'post'){
            curl_setopt($ch, CURLOPT_POST, true);//设置请求是POST方式
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置POST请求的数据
    }
    $str = curl_exec($ch);//执行访问,返回结果
    curl_close($ch);//关闭curl,释放资源
    return json_decode($str, true);
}

//参数说明:请求地址,是否是https请求(一般为false),请求方式,要进行传递的数据

 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
 

你可能感兴趣的:(php)