概述3N3HTML5中文学习网 - HTML5先行者学习网
本博客的前面两篇文章:curl和libcurl简介以及PHP中使用curl对PHP中curl的使用做了简单介绍,但是PHP中curl的使用却并不简单,尤其是curl的各种配置项,本篇文章会讲解几个PHP的实例,以便大家更好的理解curl。3N3HTML5中文学习网 - HTML5先行者学习网
实例:抓取页面3N3HTML5中文学习网 - HTML5先行者学习网
使用curl抓取页面相对来说比较简单,但是这里有一点需要注意的是,curl默认会将抓取的页面直接输出到浏览器。然而,我们经常遇到的情况是获取抓取的内容,对内容做一定的处理之后再进行操作。因此,这里写出两种不同的情况。3N3HTML5中文学习网 - HTML5先行者学习网
直接输出到浏览器3N3HTML5中文学习网 - HTML5先行者学习网
3N3HTML5中文学习网 - HTML5先行者学习网<?php
3N3HTML5中文学习网 - HTML5先行者学习网 $url="
www.baidu.com";
3N3HTML5中文学习网 - HTML5先行者学习网 $ch=curl_init();
3N3HTML5中文学习网 - HTML5先行者学习网 curl_setopt($ch,CURLOPT_URL,$url);
3N3HTML5中文学习网 - HTML5先行者学习网 curl_exec($ch);
3N3HTML5中文学习网 - HTML5先行者学习网 curl_close($ch);
3N3HTML5中文学习网 - HTML5先行者学习网?>
3N3HTML5中文学习网 - HTML5先行者学习网 3N3HTML5中文学习网 - HTML5先行者学习网运行上面这段代码,我们会直接看到百度首页。3N3HTML5中文学习网 - HTML5先行者学习网
不直接输出到浏览器3N3HTML5中文学习网 - HTML5先行者学习网
如果我们不想让curl抓取的内容直接输出到浏览器,那么就需要设置curl的“CURLOPT_RETURNTRANSFER”为true,这样curl抓取的内容会作为curl_exec()函数的返回值出现。3N3HTML5中文学习网 - HTML5先行者学习网
3N3HTML5中文学习网 - HTML5先行者学习网
<?php3N3HTML5中文学习网 - HTML5先行者学习网
$url="www.baidu.com";3N3HTML5中文学习网 - HTML5先行者学习网
$content='';3N3HTML5中文学习网 - HTML5先行者学习网
$ch=curl_init();3N3HTML5中文学习网 - HTML5先行者学习网
curl_setopt($ch,CURLOPT_URL,$url);3N3HTML5中文学习网 - HTML5先行者学习网
curl_setopt($ch, CURLOPT_RETURNTRANSFER,TRUE);3N3HTML5中文学习网 - HTML5先行者学习网
/*3N3HTML5中文学习网 - HTML5先行者学习网
*根据手册来看,好像PHP5.1.3以前的版本还需要配合CURLOPT_BINARYTRANSFER一起使用,3N3HTML5中文学习网 - HTML5先行者学习网
*但是5.1.3以后的版本中,该配置项已经被废弃了。3N3HTML5中文学习网 - HTML5先行者学习网
*/3N3HTML5中文学习网 - HTML5先行者学习网
//curl_setopt($ch, CURLOPT_BINARYTRANSFER,TRUE);3N3HTML5中文学习网 - HTML5先行者学习网
$content=curl_exec($ch);3N3HTML5中文学习网 - HTML5先行者学习网
var_dump($content);3N3HTML5中文学习网 - HTML5先行者学习网
curl_close($ch);3N3HTML5中文学习网 - HTML5先行者学习网
?>3N3HTML5中文学习网 - HTML5先行者学习网
3N3HTML5中文学习网 - HTML5先行者学习网运行代码,我们可以看到页面输出了获取的网页源码。
3N3HTML5中文学习网 - HTML5先行者学习网