基于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 全角转半角实现代码
May 16 PHP
php数据库抽象层 PDO
May 07 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
php通过asort()给关联数组按照值排序的方法
Mar 18 PHP
php将图片保存为不同尺寸图片的图片类实例
Mar 30 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
symfony2.4的twig中date用法分析
Mar 18 PHP
php如何执行非缓冲查询API
Jul 22 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
Apr 07 PHP
Laravel中log无法写入问题的解决
Jun 17 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 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
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
juqery 学习之三 选择器 简单 内容
2010/11/25 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
2018/03/03 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
Python pandas常用函数详解
2018/02/07 Python
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
python画双y轴图像的示例代码
2019/07/07 Python
Python数据存储之 h5py详解
2019/12/26 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
教育学习自我评价
2014/02/03 职场文书
大学信息公开实施方案
2014/03/09 职场文书
电子商务求职信
2014/06/15 职场文书
村级个人对照检查材料
2014/08/22 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
祝寿主持词
2015/07/02 职场文书
实习感想范文
2015/08/10 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python