Just do your best!!!

php curl自用工具类

<?php
class DoCurl{
    //header 必须是 key : value的形式
    private $header1= array(
                    'User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36'
                );
    /*
    CURL请求,需传入相关参数
    @param $url 请求地址
    @param $header 请求头(可选)
    @param $isHttps 是https请求?(true or false)
    @param $cookie cookie
    */
    private function get_curl_result($url,$header,$isHttps,$cookie,$postData)
    {
        $curl = curl_init(); // 启动一个CURL会话
        curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        if(isset($header)){
            curl_setopt($curl, CURLOPT_HTTPHEADER,$header);
        }

        if($isHttps){
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,false); // 对认证证书来源的检查
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,true); // 从证书中检查SSL加密算法是否存在
        }

        //curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);     // 获取的信息以文件流的形式返回
        if(isset($cookie)){
            curl_setopt($curl, CURLOPT_COOKIE, $cookie);
        }

        if(isset($postData)){
            curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
            curl_setopt($curl, CURLOPT_POSTFIELDS, $postData); // Post提交的数据包
        }
        //curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
        //curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
        //curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
        
        //curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file']); // 读取上面所储存的Cookie信息
        curl_setopt($curl, CURLOPT_TIMEOUT, 10); // 设置超时限制防止死循环
        curl_setopt($curl, CURLOPT_ENCODING, 'gzip');//启用GZIP压缩
        //curl_setopt($curl, CURLOPT_HEADER, true); // 显示返回的Header区域内容
        //curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar); //保存cookie
        $tmpInfo = curl_exec($curl); // 执行操作
        //$info = curl_getinfo($curl);

        curl_close($curl); // 关闭CURL会话
        return $tmpInfo;
    }

    /*
    用于检测浏览器的header测试
    */
    public function do_test(){
        //检测浏览器的header
        $url = "http://httpbin.org/headers";
        
        $result = $this->get_curl_result($url,$this->header1,false,null,null);
        echo $result;
    }


    /*
    根据URL访问,并返回结果,用于调用接口 Get方式
    */
    public function do_curl_get($url){
        if(isset($url)){
            return $this->get_curl_result($url,$this->header1,false,null,null);
        }
    }

     /*
    根据URL访问,并返回结果,用于调用接口 POST方式
    "Content-Type": "application/x-www-form-urlencoded"方式
    */
    public function do_curl_post($url,$postData){
        if(isset($url) && isset($postData)){
            return $this->get_curl_result($url,$this->header1,false,null,http_build_query($postData));
        }
    }
}
?>