基于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显示MySQL数据的三种方法
Jun 05 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
php正则表达式获取内容所有链接
Jul 24 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 PHP
php错误日志简单配置方法
Jul 11 PHP
Yii2中多表关联查询hasOne hasMany的方法
Feb 15 PHP
降低PHP Redis内存占用
Mar 23 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
php日志函数error_log用法实例分析
Sep 23 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 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新手上路(十)
2006/10/09 PHP
php 在线打包_支持子目录
2008/06/28 PHP
php 文章调用类代码
2011/08/11 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
php实现的生成排列算法示例
2019/07/25 PHP
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
vue内置指令详解
2018/04/03 Javascript
layer弹出层父子页面事件相互调用方法
2018/08/17 Javascript
JS实现的input选择图片本地预览功能示例
2018/08/29 Javascript
Vue动态生成表格的行和列
2019/07/18 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
Python的Django框架中settings文件的部署建议
2015/05/30 Python
Python入门_浅谈for循环、while循环
2017/05/16 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
详解CSS3:overflow属性
2020/11/17 HTML / CSS
德国购买门票网站:ADticket.de
2019/10/31 全球购物
电信专业毕业生推荐信
2013/11/18 职场文书
手机促销活动方案
2014/02/05 职场文书
青年文明号服务承诺
2014/03/31 职场文书
财务担保书范文
2014/04/02 职场文书
欢迎领导检查标语
2014/06/27 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
2014年残联工作总结
2014/11/21 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS