php cURL 使用代理ip爬虫

网上很多代理ip来访问url,具体干什么大家都知道,直接上代码:
$header //请求头
$cookie //存储cookie
$arrip //代理IP的地址及端口
$params //参数  你要提交的
$method //请求方式(GET,POST)

function dorequest($arrip = array(),$url,$header,$timeout = 20000,$method='',$cookie){undefined
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);         
  curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); //代理认证模式  
  curl_setopt($ch, CURLOPT_PROXY, "$arrip[0]"); //代理服务器地址   
  curl_setopt($ch, CURLOPT_PROXYPORT,$arrip[1]); //代理服务器端口
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts   
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);     
  curl_setopt($ch, CURLOPT_URL, $url);//设置链接    
   //curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0");
    if(!defined('CURLOPT_TIMEOUT_MS')){   
   $res = curl_setopt($ch, CURLOPT_TIMEOUT,30); //设置1秒超时  
 }
else {undefined
  curl_setopt($ch, CURLOPT_TIMEOUT_MS, $timeout);
  }        
 if ($cookie) {undefined
  curl_setopt($ch, CURLOPT_COOKIEJAR,  $cookie);//存储cookies    
  curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);   }
  if(!defined('CURLOPT_CONNECTTIMEOUT_MS')){    
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);  
 } else {   
   curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, $timeout);   }  
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置是否返回信息   
$method = strtoupper($method);  
 if($method == 'POST'){   
   curl_setopt($ch, CURLOPT_POST, 1);//设置为POST方式    
  curl_setopt($ch, CURLOPT_POSTFIELDS, ($params));  
 }
  if($header)
{    
  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);  
 }   //设置跳转location 最多3次  
   curl_setopt($ch, CURLOPT_MAXREDIRS, 3);     
   $response = curl_exec($ch);//接收返回信息
}

 

赞 (0)