基于PHP CURL用法的深入分析


Posted in PHP onJune 09, 2013

如下所示:

<?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);
?>
PHP 相关文章推荐
php获得当前的脚本网址
Dec 10 PHP
简单的移动设备检测PHP脚本代码
Feb 19 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
php中curl使用指南
Feb 05 PHP
PHP实现从远程下载文件的方法
Mar 12 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
Mar 15 PHP
微信利用PHP创建自定义菜单的方法
Aug 01 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
探讨PHP使用eAccelerator的API开发详解
Jun 09 #PHP
windows环境下php配置memcache的具体操作步骤
Jun 09 #PHP
探讨捕获php错误信息方法的详解
Jun 09 #PHP
使用迭代器 遍历文件信息的详解
Jun 08 #PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 #PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 #PHP
探讨:使用XMLSerialize 序列化与反序列化
Jun 08 #PHP
You might like
PHP下通过file_get_contents的代理使用方法
2011/02/16 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
PHP比你想象的好得多
2014/11/27 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
2015/03/19 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
2017/01/29 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python提示No module named images的解决方法
2014/09/29 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
Python异常处理操作实例详解
2018/05/10 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
提升python处理速度原理及方法实例
2019/12/25 Python
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
巧克力蛋糕店创业计划书
2014/01/14 职场文书
加拿大留学自荐信
2014/01/28 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
作风建设年度心得体会
2014/10/29 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
创业计划书之冷饮店
2019/09/27 职场文书
教你用python控制安卓手机
2021/05/13 Python