基于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 Squid中可缓存的动态网页设计
Sep 17 PHP
一些使用频率比较高的php函数
Oct 03 PHP
php表单提交问题的解决方法
Apr 12 PHP
php若干单维数组遍历方法的比较
Sep 20 PHP
如何用C语言编写PHP扩展的详解
Jun 13 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
PHP实现的增强性mhash函数
May 27 PHP
ThinkPHP中数据操作案例分析
Sep 27 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
Oct 22 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 29 PHP
PHP笛卡尔积实现原理及代码实例
Dec 09 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 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+xslt在windows平台上
2006/10/09 PHP
php 各种应用乱码问题的解决方法
2010/05/09 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
2016/11/14 PHP
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
jquery 实现返回顶部功能
2014/11/17 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
使用Javascript写的2048小游戏
2015/11/25 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
Vue函数式组件的应用实例详解
2019/08/30 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
Django保护敏感信息的方法示例
2019/05/09 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
澳大利亚连衣裙和女装在线:Esther
2017/11/11 全球购物
信息部岗位职责
2013/11/12 职场文书
小学敬老月活动方案
2014/02/11 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
施工安全汇报材料
2014/08/17 职场文书
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android
CSS元素定位之通过元素的标签或者元素的id、class属性定位详解
2022/09/23 HTML / CSS