基于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 相关文章推荐
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 PHP
用PHP+MySQL搭建聊天室功能实例代码
Aug 20 PHP
php 批量替换html标签的实例代码
Nov 26 PHP
php cli换行示例
Apr 22 PHP
浅谈php提交form表单
Jul 01 PHP
Smarty保留变量用法分析
May 23 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
Yii2框架可逆加密简单实现方法
Aug 25 PHP
PHP实现权限管理功能示例
Sep 22 PHP
php生成条形码的图片的实例详解
Sep 13 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
YII2框架中actions的作用与使用方法示例
Mar 13 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 文件类型判断代码
2009/03/13 PHP
深入分析PHP引用(&amp;)
2014/09/04 PHP
Django 中 cookie的使用
2017/08/17 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
一个报数游戏js版(约瑟夫环问题)
2010/08/05 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
浏览器页面区域大小的js获取方法
2013/09/21 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
深入理解React中es6创建组件this的方法
2016/08/29 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
jquery购物车结算功能实现方法
2020/10/29 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
VUE实现密码验证与提示功能
2019/10/18 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
python Opencv将图片转为字符画
2021/02/19 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
部队万能检讨书
2014/02/20 职场文书
初三语文教学计划
2015/01/22 职场文书
合作合同协议书范本
2015/01/27 职场文书
2016年公司新年寄语
2015/08/17 职场文书