php curl 批量,PHP实现的curl批量请求操作
这篇文章主要介绍了PHP实现的curl批量请求操作,结合实例形式分析了php使用curl进行批量请求处理的具体批量创建curl句柄、批量执行句柄、防卡死等相关操作技巧,需要的朋友可以参考下
本文实例讲述了PHP实现的curl批量请求操作。分享给大家供大家参考,具体如下:
$ch = array();
$res = array();
$conn = array();
$urls = array(
'baidu' => "http://www.baidu.com/",
'cheyun' => "http://auto.jrj.com.cn/",
'w3c' => "http://www.w3cschool.cc/",
);
// 创建批处理cURL句柄
$mh = curl_multi_init();
foreach ($urls as $i => $url) {
// 创建一对cURL资源
$conn[$i] = curl_init();
// 设置URL和相应的选项
curl_setopt($conn[$i], CURLOPT_URL, $url);
curl_setopt($conn[$i], CURLOPT_HEADER, 0);
curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
curl_setopt($conn[$i], CURLOPT_TIMEOUT, 10);
//302跳转
curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1);
// 增加句柄
curl_multi_add_handle($mh, $conn[$i]);
}
$active = null;
//防卡死写法:执行批处理句柄
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
foreach ($urls as $i => $url) {
//获取当前解析的cURL的相关传输信息
$info = curl_multi_info_read($mh);
//获取请求头信息
$heards = curl_getinfo($conn[$i]);
var_dump($heards);
//获取输出的文本流
$res[$i] = curl_multi_getcontent($conn[$i]);
// 移除curl批处理句柄资源中的某个句柄资源
curl_multi_remove_handle($mh, $conn[$i]);
//关闭cURL会话
curl_close($conn[$i]);
}
//关闭全部句柄
curl_multi_close($mh);
//var_dump($res);
相关推荐:
php curl 批量,PHP实现的curl批量请求操作相关推荐
- php 循环curl,PHP实现的curl批量请求操作示例
本文实例讲述了PHP实现的curl批量请求操作.分享给大家供大家参考,具体如下: $ch = array(); $res = array(); $conn = array(); $urls = arr ...
- PHP 利用 curl 发送 post get del put patch 请求
PHP 利用 curl 发送 post get del put patch 请求 参考地址 PHP cURL 函数 概述 PHP支持的由Daniel Stenberg创 ...
- MATLAB【四】 ————批量适配图片信息与excel/txt等文档信息,批量移动拷贝图片,批量存图片中点和方框
1.批量读取图片,批量读取文件 2.适配文件与excel.txt等文档信息 3.获取显示图片ROI.Point.rect.更改像素值 4.批量移动拷贝图片,批量显示 5.保存显示图片或者图片中的点和方 ...
- 随机梯度下降、批量梯度下降、小批量梯度下降分类是什么?有什么区别?batch_size的选择如何实施、有什么影响?
随机梯度下降.批量梯度下降.小批量梯度下降分类是什么?有什么区别?batch_size的选择如何实施.有什么影响? 目录
- mysql有没有批量游标_MySQL使用游标批量处理进行表操作_MySQL
一.概述 本章节介绍使用游标来批量进行表操作,包括批量添加索引.批量添加字段等.如果对存储过程.变量定义.预处理还不是很熟悉先阅读我前面写过的关于这三个概念的文章,只有先了解了这三个概念才能更好的理解 ...
- curl代理ippost php_php使用curl通过代理获取数据的实现方法
本文实例讲述了php使用curl通过代理获取数据的实现方法.分享给大家供大家参考,具体如下: $curl=curl_init(); curl_setopt($curl, CURLOPT_URL, &q ...
- c++批量重命名_文件批量重命名?这个方法百试百灵
本文由两部分构成,[批量提取指定文件夹下文件名]以及[批量文件重命名].嗯~简易操作~不涉及VBA编程~ 批量提取指定文件夹下文件名 操作动画如下: 如动画所示,先定义一个名称. 名称为文件夹,引用位 ...
- mysql构建器 批量插入_mysqlbatch: mysql的批量执行工具,可以在多台mysql服务器上执行指定的SQL语句,支持sharding,比如在sharding之后的表上批量创建索引...
MySQL Sharding 批量执行工具 主要功能 批量建库.批量建表.批量执行SQL脚本(创建索引.修改表结构).Sharding使用情况分析 使用方法 python ./mysqlbatch.p ...
- php批量打印快递单,excel怎么利用vba实现批量套打快递单批量打印单据?
excel vba 批量套打快递单,批量打印单据,可以自定义修改设置新的格式. 快递套打模板2015:点击下载 1.设置快递单的自定义纸张.选择对应打印机-点击打印服务器属性-勾选创建新表单-输入表单 ...
最新文章
- ## Spark学习之路(一)
- 《Java程序员,上班那点事儿》序——刘博
- java自定义键值对_KV键值对数据类型
- ajax 12301 原因小结
- python 新建html_Python学习第226课——html中创建按钮
- C#中使用多线程访问Winform问题解决方案
- python-自定义模块-文件的操作
- 8051单片机的中断发送
- 使用Python将Excel文件中的数据插入MySQL数据库,你学会了吗?
- python贴吧-python爬取贴吧帖子
- 利用python脚本根据DOI号自动查询参考文献信息
- pcm转mp3保姆级教程附源码
- 游戏服务器redis mysql_redis服务器环境下mysql实现lnmp架构缓存
- Java 基础知识总结—ArrayList
- linu安装JDK1.8
- ASA Failover
- 生物群落数据分析最常用的统计方法:回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法
- 雲禾遗密:Web3js调用智能合约查看某账户ERC20代币数量
- BootLoader是什么 转载至百度百科
- c++map自动排序特性