基于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 5.0对象模型深度探索之绑定
Sep 05 PHP
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
如何用php获取程序执行的时间
Jun 09 PHP
CodeIgniter生成网站sitemap地图的方法
Nov 13 PHP
php遍历文件夹所有文件子文件夹函数代码
Nov 27 PHP
一个简洁实用的PHP缓存类完整实例
Jul 26 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
Feb 26 PHP
利用PHP判断是否是连乘数字串的方法示例
Jul 03 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
PHP 枚举类型的管理与设计知识点总结
Feb 13 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
PHP5中的this,self和parent关键字详解教程
2007/03/19 PHP
php生成扇形比例图实例
2013/11/06 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
PHP ob缓存以及ob函数原理实例解析
2020/11/13 PHP
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
JQuery实现防止退格键返回的方法
2015/02/12 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
微信小程序自定义扫码功能界面的实现代码
2020/07/02 Javascript
简单理解Python中基于生成器的状态机
2015/04/13 Python
Python3中多线程编程的队列运作示例
2015/04/16 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
2020/04/24 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
建设投标担保书
2014/05/13 职场文书
企业文化口号
2014/06/12 职场文书
安全责任书范文
2014/08/25 职场文书
团员个人年度总结
2015/02/26 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
消夏晚会主持词
2015/06/30 职场文书
结婚典礼致辞
2015/07/28 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS
python中subplot大小的设置步骤
2021/06/28 Python