CURL操作以及命令详解

摘要
PHP CURL

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

PHP cURL 函数

以下包含了PHP cURL函数列表:

函数 描述
curl_close() 关闭一个cURL会话。
curl_copy_handle() 复制一个cURL句柄和它的所有选项。
curl_errno() 返回最后一次的错误号。
curl_error() 返回一个保护当前会话最近一次错误的字符串。
curl_escape() 返回转义字符串,对给定的字符串进行URL编码。
curl_exec() 执行一个cURL会话。
curl_file_create() 创建一个 CURLFile 对象。
curl_getinfo() 获取一个cURL连接资源句柄的信息。
curl_init() 初始化一个cURL会话。
curl_multi_add_handle() 向curl批处理会话中添加单独的curl句柄。
curl_multi_close() 关闭一组cURL句柄。
curl_multi_exec() 运行当前 cURL 句柄的子连接。
curl_multi_getcontent() 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流。
curl_multi_info_read() 获取当前解析的cURL的相关传输信息。
curl_multi_init() 返回一个新cURL批处理句柄。
curl_multi_remove_handle() 移除curl批处理句柄资源中的某个句柄资源。
curl_multi_select() 等待所有cURL批处理中的活动连接。
curl_multi_setopt() 设置一个批处理cURL传输选项。
curl_multi_strerror() 返回描述错误码的字符串文本。
curl_pause() 暂停及恢复连接。
curl_reset() 重置libcurl的会话句柄的所有选项。
curl_setopt_array() 为cURL传输会话批量设置选项。
curl_setopt() 设置一个cURL传输选项。
curl_share_close() 关闭cURL共享句柄。
curl_share_init() 初始化cURL共享句柄。
curl_share_setopt() 设置一个共享句柄的cURL传输选项。
curl_strerror() 返回错误代码的字符串描述。
curl_unescape() 解码URL编码后的字符串。
curl_version() 获取cURL版本信息。


你可能感兴趣的:(CURL操作以及命令详解)