教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 PHP CURL封装类代码一例

PHP CURL封装类代码一例

发布时间:2017-06-02   编辑:jiaochengji.com
分享一例php实现的curl封装类代码,学习下php中curl操作的方法,便于掌握php中常用的curl函数,有需要的朋友参考下吧。

本节内容:
PHP CURL封装类

例子:
 

复制代码 代码示例:
<?php
/**
* CURL封装类
* by www.jbxue.com
*/
class Curl_Class 

    function Curl_Class() 
    { 
        return true; 
    } 
 
    function execute($method, $url, $fields = '', $userAgent = '', $httpHeaders = '', $username = '', $password = '') 
    { 
        $ch = Curl_Class::create(); 
        if (false === $ch) 
        { 
            return false; 
        } 
 
        if (is_string($url) && strlen($url)) 
        { 
            $ret = curl_setopt($ch, CURLOPT_URL, $url); 
        } 
        else 
        { 
            return false; 
        } 
        //是否显示头部信息 
        curl_setopt($ch, CURLOPT_HEADER, false); 
        // 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
 
        if ($username != '') 
        { 
            curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password); 
        } 
 
        $method = strtolower($method); 
        if ('post' == $method) 
        { 
            curl_setopt($ch, CURLOPT_POST, true); 
            if (is_array($fields)) 
            { 
                $sets = array(); 
                foreach ($fields AS $key => $val) 
                { 
                    $sets[] = $key . '=' . urlencode($val); 
                } 
                $fields = implode('&',$sets); 
            } 
            curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); 
        } 
        else if ('put' == $method) 
        { 
            curl_setopt($ch, CURLOPT_PUT, true); 
        } 
 
        //curl_setopt($ch, CURLOPT_PROGRESS, true); 
        //curl_setopt($ch, CURLOPT_VERBOSE, true); 
        //curl_setopt($ch, CURLOPT_MUTE, false); 
        curl_setopt($ch, CURLOPT_TIMEOUT, 3);//设置curl超时秒数,例如将信息POST出去3秒钟后自动结束运行。 
 
        if (strlen($userAgent)) 
        { 
            curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); 
        } 
 
        if (is_array($httpHeaders)) 
        {  // www.jbxue.com
            curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders); 
        } 
 
        $ret = curl_exec($ch); 
 
        if (curl_errno($ch)) 
        { 
            curl_close($ch); 
            return array(curl_error($ch), curl_errno($ch)); 
        } 
        else 
        { 
            curl_close($ch); 
            if (!is_string($ret) || !strlen($ret)) 
            { 
                return false; 
            } 
            return $ret; 
        } 
    } 
 
    function post($url, $fields, $userAgent = '', $httpHeaders = '', $username = '', $password = '') 
    { 
        $ret = Curl_Class::execute('POST', $url, $fields, $userAgent, $httpHeaders, $username, $password); 
        if (false === $ret) 
        { 
            return false; 
        } 
 
        if (is_array($ret)) 
        { 
            return false; 
        } 
        return $ret; 
    } 
 
    function get($url, $userAgent = '', $httpHeaders = '', $username = '', $password = '') 
    { 
        $ret = Curl_Class::execute('GET', $url, '', $userAgent, $httpHeaders, $username, $password); 
        if (false === $ret) 
        { 
            return false; 
        } 
 
        if (is_array($ret)) 
        { 
            return false; 
        } 
        return $ret; 
    } 
 
    function create() 
    { 
        $ch = null; 
        if (!function_exists('curl_init')) 
        { 
            return false; 
        } 
        $ch = curl_init(); 
        if (!is_resource($ch)) 
        { 
            return false; 
        } 
        return $ch; 
    }

您可能感兴趣的文章:
php curl模拟post请求的例子
php curl模块的用法举例
PHP添加CURL扩展库的二种方法
php curl超时设置详解
php CURL模拟cookie登录的代码
php curl上传文件的简单例子
php curl实现get,post和cookie的实例代码
php中开启curl扩展的方法详解
php curl post的简单示例
php curl错误代码列表(收集)
php curl用法的实例代码
php curl中post与get应用实例代码
php中通过curl smtp发送邮件的例子
PHP中用CURL伪造IP来源的方法
php使用curl伪造IP来源的代码
php curl 学习总结

您可能感兴趣的文章:
curl是php自带的吗
PHP CURL封装类代码一例
Curl封装类Curl.class.php及调用方法
php curl 多线程类实例分享
php curl中x-www-form-urlencoded与multipart/form-data 方式 Post 提交数据详解
PHP curl封装类(包含读取/写入/读写cookie/post/代理/伪造来源IP)
php中开启curl扩展的方法详解
php curl模拟post请求的例子
php curl实现http与https请求实例
php中file_get_contents代替使用curl示例

[关闭]
~ ~