基于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 相关文章推荐
一次编写,随处运行
Oct 09 PHP
用PHP生成静态HTML速度快类库
Mar 18 PHP
php 从数据库提取二进制图片的处理代码
Sep 09 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Mar 26 PHP
用来解析.htpasswd文件的PHP类
Sep 05 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
destoon实现商铺管理主页设置增加新菜单的方法
Jun 26 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
Yii2使用自带的UploadedFile实现的文件上传
Jun 20 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 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
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
2012/02/03 Javascript
编程语言JavaScript简介
2014/10/16 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
js常见遍历操作小结
2019/06/06 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
Python中的魔法方法深入理解
2014/07/09 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
浅谈python数据类型及类型转换
2017/12/18 Python
使用Django和Python创建Json response的方法
2018/03/26 Python
python GUI模拟实现计算器
2020/06/22 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
通过HTML5规范搞定i、em、b、strong元素的区别
2017/03/04 HTML / CSS
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
施华洛世奇波兰官网:SWAROVSKI波兰
2019/06/18 全球购物
C语言基础笔试题
2013/04/27 面试题
九年级政治教学反思
2014/02/06 职场文书
行政管理专业求职信
2014/07/06 职场文书
2015年技术员工作总结
2015/04/10 职场文书
大学生村官入党自传
2015/06/26 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书