CURL操作与实践

mip33 10年前

    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')));