开启php中curl库的支持 Windows下的PHP开启curl库支持: 打开php.ini,将extension=php_curl.dll前的;号去掉。Linux下的PHP开启curl库支持: 编译PHP时在./configure后加上 –with-curl 准备工作做好,在开始
Windows下的PHP开启curl库支持: 打开php.ini,将extension=php_curl.dll前的;号去掉。 Linux下的PHP开启curl库支持: 编译PHP时在./configure后加上 –with-curl 准备工作做好,在开始之前先介绍相关的几个函数: curl_init();//创建一个新的curl会话 curl_setopt();//获取创建的url内容及其他相关操作,函数内相关参数下面会详细讲解 curl_exec();//提取url站点内容,并打印 curl_close();//关闭当前的url会话实例1
以上是一个简单的页面爬取; 通过设置函数curl_setopt()的不同参数,可以获得不同结果,这正是curl强大的原因,下面我们来看看这些参数的含义。 1.在curl_setopt()函数的参数中,如果希望获得内容但不输出,使用 CURLOPT_RETURNTRANSFER参数,并设为非0值/true 2.CURLOPT_FOLLOWLOCATION ,当你把这个参数设置为true时,curl会根据任何重定向命令更深层次的获取转向路径,举个 例子:当你尝试获取一个PHP的页面,然后这个PHP的页面中有一段跳转代码 ,curl将从http://new_url获取内容,而不是 返回跳转代码。 3.参数CURLOPT_MAXREDIRS选项允许你定义跳转请求的最大次数,超过了这个次数将不再获取其内容。如果 CURLOPT_AUTOREFERER 设置为true时,curl会自动添加Referer header在每一个跳转链接,可能它不是很重要,但是 在一定的案例中却非常的有用。 4.CURLOPT_POST,这是一个非常有用的功能,因为它可以让您这样做POST请求,而不是GET请求,这实际上意味着你可以提 交其他形式的页面,无须其实在表单中填入。 5.参数CURLOPT_CONNECTTIMEOUT 通常用来设置curl尝试请求链接的时间,这是一个非常重要的选项,如果你把这段时间 设置的太短了,可能会导致curl请求失败。 但是如果你把它设置的时间太长了,可能PHP脚本将死掉。和这个参数相关的一 个选项是 CURLOPT_TIMEOUT,这是用来设置curl允许执行的时间需求。如果您设置这一个很小的值,它可能会导下载的网 页上是不完整的,因为他们需要一段时间才能下载。 最后一个选项是 CURLOPT_USERAGENT,它允许你自定义请求是的客 户端名称,比如webspilder或是IE6等。 6.下面我们来介绍一个curl_getinfo() 函数;我们可以通过查看这个URL的请求返回的代码来判断比如404代表这个页 面不存在 通过上面的相关参数的介绍,最后我们在来一个实例实例2