PHP function mycurl

2036 ワード

/**
 +----------------------------------------------------------
 * CURL
 +----------------------------------------------------------
 * @param string$url    URL
 * @param string|array$post POST   
 * @param string|array$cookie COOKIE  
 * @param string$cookieFile   COOKIE    
 * @param string$referer    
 +----------------------------------------------------------
 * @return string
 +----------------------------------------------------------
 */
function mycurl($url ,$post='' ,$cookie='' ,$cookieFile='' ,$referer=''){
    $curl = curl_init();
    $userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0';
    $userAgent = empty($userAgent)?$_SERVER['HTTP_USER_AGENT']:$userAgent;
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_TIMEOUT, 5);//cURL         
    curl_setopt($curl, CURLOPT_HEADER, 0);//              
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//true         ;  false     ;
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);//          
    curl_setopt($curl, CURLOPT_MAXREDIRS, 5);//       
    curl_setopt($curl, CURLOPT_USERAGENT, $userAgent);//HTTP   User-Agent: "     
    if($referer){
    curl_setopt($curl, CURLOPT_REFERER, $referer);
    }else{
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
    }
    if($post){
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
    }
    if($cookieFile){
    $cookieFile = dirname(__FILE__).DIRECTORY_SEPARATOR.$cookieFile;
    curl_setopt($curl, CURLOPT_COOKIEFILE, $cookieFile);//  cookie      
    curl_setopt($curl, CURLOPT_COOKIEJAR, $cookieFile);//       cookie     
    }
    if($cookie){
    curl_setopt($curl, CURLOPT_COOKIE, $cookie);//HTTP   "Cookie: "     
    }
    $result = curl_exec($curl);
    if(curl_errno($curl))echo '<pre><b>ERROR:</b><br />'.curl_error($curl).'</pre>';
    curl_close($curl);
    return $result;
}