计算机网络/计算机科学与应用/系统/运维/开发

PHP-cURL工具的使用

一、什么是cURL

cURL可以实现网络数据的抓取,是一个包含诸多选项的强大接口

开发搜索引擎的爬虫(spiders或webbots)或自动化传输程序,如价格监控、图片抓取、链接校验、搜索排名检测、信息聚合等


cURL是client URL Library Functions的缩写,是由一个命令行工具实现的,用于获取远程文件或传输文件,支持FTP/FTPS、HTTP/HTTPS、SCP/SFTP、Telnet、DICT和File/LDAP等协议,通俗来讲,些类型的服务器,cURL都可以抓取


cURL的本质是一个命令行的工具,如模拟一个正常用户在浏览器上访问一个网站,可以实现自动登录,或者自动抓取分析网页中的内容、二进制文件数据等


为何没有用file_get_contents()这个函数来读取远端内容?

函数是file()函数的一系列包装,而且性能方面存在比较大的问题,在执行时会非常慢

没有办法完成更复杂些的任务,比如管理Cookies,验证和表单提交,文件上传,等等


二、cURL的安装和启用

2-1、安装cURL

Windows系统,在php.ini文件中找到以下内容,去掉分号,重启服务

;extension=php_curl.dll

Ubuntu系统,使用apt-ge命令安装curl,重启服务

sudo apt-get install php5-curl

CentOS下重启Web服务器后也即时启用cURL

yum install php-curl

2-2、检查是否可用cURL扩展库

方式1:

if(is_callable('curl_init')){
  echo"curl is enabled";
}else{
  echo"curl not enabled";
}

方式2:

phpinfo()函数来查看


三、cURL使用步骤

1、 curl_init() 初始化实例

2、 设置选项 curl_setopt($curl,CONSTANT,Value)

3、 curl_exec($curl) 执行事务

4、 释放句柄 curl_close($culr)


//  完整实例

// 1.初始化,创建一个cURL句柄
  $ch = curl_init();
// 2.设置url和选项
  curl_setopt($ch, CURLOPT_URL,"http://www.dazhongfazs.com/");
  // 设置curl_exec()获取的信息以字符流的形式返回
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch, CURLOPT_REFERER,"http://www.baidu.com/");
  // 启用时会将头 的信息作为字符流输出
  curl_setopt($ch, CURLOPT_HEADER,1);
// 3.抓取URL的HTML内容
  $output = curl_exec($ch);
// 4. 关闭cURL句柄 并且释放系统资源
  curl_close($ch);
  echo $output;


四、cURL选项




    


cURL

努力的意义,不在于一定会让你取得多大的成就,只是让你在平凡的日子里,活得比原来的那个自己更好一点。

评论

^