php_curl库的基本应用讲解
创始人
2024-06-12 09:40:38
0

今天我们就以实例向大家讲解php_curl库的基本用法,加深大家对php_curl库的理解程度,比如我们可以通过设置函数curl_setopt() 的不同参数来实现不同的效果等等一些强大的功能。

简介

#t#你可能在你的编写PHP脚本代码中会遇到这样的问题:怎么样才能从其他站点获取内容呢?这里有几个解决方式;最简单的就是在php中使用fopen()函数,但是fopen函数没有足够的参数来使用,比如当你想构建一个“网络爬虫”,想定义爬虫的客户端描述(IE,firefox),通过不同的请求方式来获取内容,比如POST,GET;等等这些需求是不可能用fopen() 函数实现的。

为了解决我们上面提出的问题,我们可以使用PHP的扩展库-Curl,这个扩展库通常是默认在安装包中的,你可以它来获取其他站点的内容,也可以来干别的。

备注:这两段代码需要php_curl扩展库的支持,查看phpinfo(),如果curl support  enabled则表示支持curl库。
1、Windows下的PHP开启curl库支持:
打开php.ini,将extension=php_curl.dll前的;号去掉。

2、Linux下的PHP开启curl库支持:
编译PHP时在./configure后加上 –with-curl

在这篇文章中,我们一起来看看如何使用curl库,并看看它的其他用处,但是接下来,我们要从最基本的用法开始

基本用法:

第一步,我们通过函数curl_init()创建一个新的curl会话,代码如下:

  1.  
  2. // create a new curl resource$ch = curl_init();?> 

我们已经成功创建了一个curl会话,如果需要获取一个URL的内容,那么接下的一步,传递一个URL给curl_setopt()函数,代码:

  1.  
  2. // set URL and other appropriate options  
  3. curl_setopt($ch, CURLOPT_URL, “http://www.google.com/”);  
  4. ?> 

做完上一步工作,curl的准备工作做完了,curl将会获取URL站点的内容,并打印出来。代码:

  1.  
  2. // grab URL and pass it to the browser  
  3. curl_exec($ch);  
  4. ?> 

最后,关闭当前的curl会话

  1.  
  2. //close curl resource, and free up system resources  
  3. curl_close($ch);  
  4. ?> 

下面我们来看看完成的实例代码:

  1.  
  2. // create a new curl resource  
  3. $ch = curl_init();  
  4. // set URL and other appropriate options  
  5. curl_setopt($ch, CURLOPT_URL, “http://www.google.nl/”);  
  6. // grab URL and pass it to the browser  
  7. curl_exec($ch);  
  8. // close curl resource, and free up system resources  
  9. curl_close($ch);  
  10. ?> 

我们刚刚把另外一个站点的内容,获取过来以后自动输出到浏览器,我们有没有其他的方式组织获取的信息,然后控制其输出的内容呢?完全没有问题,在curl_setopt()函数的参数中,如果希望获得内容但不输出,使用CURLOPT_RETURNTRANSFER 参数,并设为非0值/true!,完整代码请看:

  1.  
  2. // create a new curl resource  
  3. $ch = curl_init();  
  4. // set URL and other appropriate options  
  5. curl_setopt($ch, CURLOPT_URL, “http://www.google.nl/”);  
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
  7. // grab URL, and return output  
  8. $output = curl_exec($ch);  
  9. // close curl resource, and free up system resources  
  10. curl_close($ch);  
  11. // Replace ‘Google’ with ‘PHPit’  
  12. $output = str_replace(’Google’, ‘PHPit’, $output);  
  13. // Print output  
  14. echo $output;  
  15. ?> 

在上面的2个php_curl库实例中,你可能注意到通过设置函数curl_setopt() 的不同参数,可以获得不同结果,这正是curl强大的原因。

文章来源:http://cai555.javaeye.com/blog/343918

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...