php实现的Curl封装类Curl.class.php用法实例分析
本文实例讲述了php实现的Curl封装类Curl.class.php用法。分享给大家供大家参考。具体如下:
<?php //curl类 classCurl { functionCurl(){ returntrue; } functionexecute($method,$url,$fields='',$userAgent='',$httpHeaders='',$username='',$password=''){ $ch=Curl::create(); if(false===$ch){ returnfalse; } if(is_string($url)&&strlen($url)){ $ret=curl_setopt($ch,CURLOPT_URL,$url); }else{ returnfalse; } //是否显示头部信息 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($fieldsAS$key=>$val){ $sets[]=$key.'='.urlencode($val); } $fields=implode('&',$sets); } curl_setopt($ch,CURLOPT_POSTFIELDS,$fields); }elseif('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,10);//设置curl超时秒数 if(strlen($userAgent)){ curl_setopt($ch,CURLOPT_USERAGENT,$userAgent); } if(is_array($httpHeaders)){ curl_setopt($ch,CURLOPT_HTTPHEADER,$httpHeaders); } $ret=curl_exec($ch); if(curl_errno($ch)){ curl_close($ch); returnarray(curl_error($ch),curl_errno($ch)); }else{ curl_close($ch); if(!is_string($ret)||!strlen($ret)){ returnfalse; } return$ret; } } functionpost($url,$fields,$userAgent='',$httpHeaders='',$username='',$password=''){ $ret=Curl::execute('POST',$url,$fields,$userAgent,$httpHeaders,$username,$password); if(false===$ret){ returnfalse; } if(is_array($ret)){ returnfalse; } return$ret; } functionget($url,$userAgent='',$httpHeaders='',$username='',$password=''){ $ret=Curl::execute('GET',$url,'',$userAgent,$httpHeaders,$username,$password); if(false===$ret){ returnfalse; } if(is_array($ret)){ returnfalse; } return$ret; } functioncreate(){ $ch=null; if(!function_exists('curl_init')){ returnfalse; } $ch=curl_init(); if(!is_resource($ch)){ returnfalse; } return$ch; } } ?>
GET用法:
$curl=newCurl(); $curl->get('http://www.XXX.com/');
POST用法:
$curl=newCurl(); $curl->get('http://www.XXX.com/','p=1&time=0');
希望本文所述对大家的php程序设计有所帮助。