|
本篇文章是对PHP中的CURL用法进行了详细的分析介绍,需要的朋友参考下
如下所示: 复制代码 代码如下: <?php header('Context-Type:text/html;charset:gb2312;'); $urls = array( 'http://www.baidu.com/', 'http://www.pconline.com.cn/', 'http://www.163.com/' ); $options = array( CURLOPT_RETURNTRANSFER=>1, CURLOPT_FOLLOWLOCATION=>1, CURLOPT_HEADER => false, CURLOPT_HTTPHEADER => array( 'Accept'=>' text/html, application/xhtml+xml,', 'Accept-Encoding'=>' gzip, deflate', 'Accept-Language'=>' zh-CN', 'Connection'=>' Keep-Alive', 'User-Agent'=>' Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)', ), ); function curlMultiRequest($urls,$options=array()){ $ch = array(); $results = array(); $mh = curl_multi_init(); foreach($urls as $key=>$val){ $ch[$key] = curl_init(); if($options){ curl_setopt_array($ch[$key],$options); } curl_setopt($ch[$key],CURLOPT_URL,$val); curl_multi_add_handle($mh,$ch[$key]); }
$running = null; do{ curl_multi_exec($mh,$running); }while($running>0);
foreach($ch as $key=>$val){ //$results[$key] = iconv('gb2312','utf-8',curl_multi_getcontent($val)); $results[$key] = curl_multi_getcontent($val); curl_multi_remove_handle($mh,$val); curl_close($val); } curl_multi_close($mh); return $results; } $results = curlMultiRequest($urls,$options); print_r($results); ?>
|
|