php同时下载多条URL函数
/**
* 同时打开多个URL
*/
function get_urls($urls,$per=10,$try=1){
$headers[] = 'User-Agent: '.$_SERVER['HTTP_USER_AGENT'];
$headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$headers[] = 'Accept-Language: zh-cn,zh;q=0.5';
$headers[] = 'Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7';
$headers[] = 'Keep-Alive: 115';
$headers[] = 'Connection: keep-alive';
//$headers[] = 'Cookie: '.$cookie_file;
//$m_cookie_name = $this->get_content_cookie_path();
$options=array(
CURLOPT_HTTPHEADER=>$headers,
CURLOPT_SSL_VERIFYHOST=>FALSE,
CURLOPT_SSL_VERIFYPEER=>FALSE,
CURLOPT_COOKIEFILE=>$m_cookie_name,
CURLOPT_COOKIEJAR=>$m_cookie_name,
);
$urls2=array();
foreach($urls as $k=>$v){
$urls[$k]= $this->get_url($v);
}
while(count($urls))$urls2[] = array_splice($urls,0,$per);
$errorUrls=array();
$datas = array();
foreach($urls2 as $uk=>$url2s){
$m = new Http_MultiRequest($options);
$m->setUrls($url2s);
$data = $m->exec();
$infos = ($m->getInfos());
foreach($infos as $ik=>$info){
if($info['http_code']!=200){
$errorUrls[$ik]=$url2s[$ik];
echo $ik.' http_code:'.$info['http_code'].'<br>';
}
}
$datas =array_merge ($datas, $data);
}
//echo'ErrorUrls:';pecho($errorUrls);
if($errorUrls&&$try>0){
$data = get_urls($errorUrls,$per,$try-1);
$datas =array_merge ($datas, $data);
}
return $datas;
}
声明: 本文由( admin )原创编译,转载请保留链接: php同时下载多条URL函数
------====== 本站公告 ======------
联系信息:
电话:19970108113(微信同号) QQ:3142401606
支付宝:https://me.alipay.com/lxq73061
相关插件程序等信息均会在站内发布,敬请关注。