CURL是liunx系统的一个命令行工具,目的是进行数据抓取;现在CURL已经在非常多的系统中使用,WIN用户可以使用DOS版本的CURL命令操作,操作方法很简单,就是在CMD窗口中找到CURL文件夹,执行CURL命令即可,CMD中操作CURL不是本文讲解的重点,本文讲解PHP中的CURL;
一,PHP中安装CURL
1,PHP.INI中找到 ;extension=php_curl.dll,去掉分号,如果没有自己添加一行;
2,本文使用的是phpstudy,在其他菜单->PHP扩展及设置->PHP扩展:找到php_curl,打钩即可;但是通常情况下phpstudy是默认打开curl功能的;
二,CURL的最简单操作
<?php // 创建curl,若此步骤错误,说明PHP扩展没有打开 $ch = curl_init(); //设置curl,该步骤是最重要,内容也是最多的 curl_setopt($ch, CURLOPT_URL,‘http://www.baidu.com’); // 执行本次curl curl_exec($ch); // 关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
--执行以后,于是看见百度网页;
三,CURL设置简介
curl执行步骤一般是四步走,初始化-设置-执行-关闭,其中设置的内容最多,也最复杂,设置如下:
http://www.w3cschool.cc/php/php-ref-curl.html
四,CURL模拟POST
1,执行CURL的页面:
<?php //设置传递的数据 $curlPost= array('s'=>'tttt','p'=>'sssfe');; $ch=curl_init(); //设置访问URL curl_setopt($ch,CURLOPT_URL,' //设置是否获取页面的head,1代表true,一般情况是设置为0 curl_setopt($ch,CURLOPT_HEADER,0); //设置是否以文件流形式返回,文件流返回暂不显示,等待提取数据 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //设置是否要post数据 curl_setopt($ch,CURLOPT_POST,1); //设置POST文件内容 curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost); $data=curl_exec($ch); curl_close($ch); //打印出返还数据 print_r($data);
2,接收页面:
<?php //接收页面直接返还出接收的数据 print_r($_REQUEST);
五,将post简单封装成类
<?php class curl{ public static function curl_post($url,$data){ $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); $rs=curl_exec($ch); curl_close($ch); return $rs; } } //打印结果 print_r(curl::curl_post('http://localhost/test/curl.php',array('data_1','data_2')));