基于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语法(1)
Oct 09 PHP
php面向对象全攻略 (五) 封装性
Sep 30 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
Apr 28 PHP
PHP中date()日期函数有关参数整理
Jul 19 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
Nov 10 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 PHP
PHP访问数据库集群的方法小结
Mar 14 PHP
PHP实现时间日期友好显示实现代码
Sep 08 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
May 02 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 28 PHP
YII2 全局异常处理深入讲解
Mar 24 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实现读取和编写XML DOM代码
2010/04/07 PHP
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
python psutil库安装教程
2018/03/19 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
奇怪的鱼:Weird Fish
2018/03/18 全球购物
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
护士自我鉴定怎么写
2014/02/07 职场文书
司机检讨书
2014/02/13 职场文书
装修活动策划方案
2014/08/27 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
小学远程教育工作总结
2015/08/13 职场文书
2015年教师党员个人总结
2015/11/24 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python
CSS+HTML 实现顶部导航栏功能
2021/08/30 HTML / CSS
nginx内存池源码解析
2021/11/20 Servers