原文链接:php的扩展php_curl实例详解
curl发送请求的实例在网上搜索,php的扩展php_curl实例详解类似的文章可以搜到很多,但是为什么还要写这篇呢,因为发现网上大多在页面上的排版都挺乱的,看起来比较吃力,实例代码也不整齐,所以干脆重新测试重新编写代码吧,就当是备忘录吧。
一、平时我们发送请求采用的方式
一般使用如下的方式:
<?php
$str = file_get_contents("http://www.baidu.com/");
//或者
$str = file("http://www.baidu.com/");
//或者
readfile("http://www.baidu.com/");
?>
这样我们会发现,我们没有办法有效地进行错误处理,更重要的是我们没有办法完成一些高难度的任务,如:处理cookies,验证,表单提交,文件上传等等。
二、使用php_curl发送请求
介于以上原因,我们采用php_curl扩展来实现,使用php_curl发送请求需要四个步骤:
1、初始化,创建一个新curl资源;
2、设置url和相应的选项;
3、抓取url并把它传递给浏览器;
4、关闭curl资源,并且释放系统资源;
实例代码如下:
<?php
//1.初始化,创建一个新curl资源
$ch = curl_init();
//2.设置url和相应的选项
curl_setopt($ch, CURLOPT_URL, ”http://www.lampbrother.net/”);
curl_setopt($ch, CURLOPT_HEADER, 0);
//3.抓取url并把它传递给浏览器
curl_exec($ch);
//4.关闭curl资源,并且释放系统资源
curl_close($ch);
?>
上述四步中,其中第二步最为关键,可以设置一些高级选项,可以参考文章<<>>。
三、curl比file_get_contents相比有那些优势?
1、在效率方面,curl的原理是模拟浏览器的操作,它的效率要比file_get_contents()高出四倍以上,试想一下,我们要采集一个信息量特别庞大的站,运行效率的差别可想而知!
2、在稳定性方面,curl也远比file_get_contents()函数要好很多,curl可以返回错误码及错误信息,方便排查出错原因!
总之curl的功能是非常强大的,很多的功能需要大家自行去实践,这样才会真正掌握curl的用法。