CURL 参数解释

原创
2016/03/17 16:24
阅读数 362

CURL 参数

        $opts = array(
            //基础参数
            CURLOPT_TIMEOUT        => 30,//设置请求超时时间
            CURLOPT_RETURNTRANSFER => 1,//获取的信息以文件流的形式返回,而不是直接输出
            CURLOPT_SSL_VERIFYPEER => false,//禁用后cURL将终止从服务端进行验证
            CURLOPT_SSL_VERIFYHOST => false,//检查服务器SSL证书中是否存在一个公用名
            CURLOPT_URL => 'http://127.0.0.1/test/index.php',//请求地址
            
            //POST请求
            CURLOPT_POST => 1,//发起POST方式请求
            CURLOPT_POSTFIELDS => array(
                'user'=>'jeff',
                'file'=>'@D:/image/my_test.jpg',//传输文件
            ),//POST发送的数据
           
            
            //获取头信息
            CURLOPT_HEADER => 1,//获取头信息(与POST方式不能同时使用)
            CURLOPT_NOBODY => 1,//不获取主体内容
            
            //伪造头信息
            CURLOPT_HTTPHEADER=> $header,//设置头信息,数组方式
            CURLOPT_REFERER => 'https://www.baidu.com',//伪造来源地址
            
            //获取cookie
            CURLOPT_COOKIEJAR => $cookie_file,//为cookie数据
            
            //使用cookie
            CURLOPT_COOKIEFILE => $cookie_file,//使用cookie数据
            
            //跟随跳转
            CURLOPT_FOLLOWLOCATION => true,//面的跳转会继续跟踪访问,而且cookie在header里面被保留了下来
            //使用CURLOPT_MAXREDIRS可以限定递归返回的数量
            
            //代理访问
            CURLOPT_PROXY => '39.77.68.212',//代理服务器IP
            CURLOPT_PROXYPORT => '8080',//代理服务器端口
            //CURLOPT_PROXYUSERPWD 指定需要验证的代理的账号密码,"[username]:[password]"格式的字符串
            
            //综合
            curl_setopt($ch, CURLOPT_ENCODING, "gzip"); //指定gzip压缩,若返回数据为乱码可尝试
            
        );

初始并运行

        $ch = curl_init();
        curl_setopt_array($ch, $opts);
        $data  = curl_exec($ch);
        $info = curl_getinfo($ch);//获取传输状态信息数组
        $error = curl_error($ch);//获取错误信息
        curl_close($ch);
        if($error) throw new Exception('CURL请求错误:' . $error);

curl_getinfo($ch)获取的数组信息

"url" //资源网络地址 
"content_type" //内容编码 
"http_code" //HTTP状态码 
"header_size" //header的大小 
"request_size" //请求的大小 
"filetime" //文件创建时间 
"ssl_verify_result" //SSL验证结果 
"redirect_count" //跳转技术 
"total_time" //总耗时 
"namelookup_time" //DNS查询耗时 
"connect_time" //等待连接耗时 
"pretransfer_time" //传输前准备耗时 
"size_upload" //上传数据的大小 
"size_download" //下载数据的大小 
"speed_download" //下载速度 
"speed_upload" //上传速度 
"download_content_length"//下载内容的长度 
"upload_content_length" //上传内容的长度 
"starttransfer_time" //开始传输的时间 
"redirect_time"//重定向耗时

 

展开阅读全文
打赏
1
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
1
分享
返回顶部
顶部