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),请求方式,要进行传递的数据
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 远程连接数据库之1042错误
- 下一篇: 微信开发中使用curl忽略https证书