比 get_headers() 更快的东西

2023-11-25

我正在尝试制作一个 PHP 脚本来尽快检查网站的 HTTP 状态。

我目前正在使用 get_headers() 并在 mysql 数据库中的 200 个随机 url 循环中运行它。

检查全部 200 个 - 平均需要 2m 48s。

我能做些什么来让它(更快)更快吗?

(我知道 fsockopen - 它可以在 20 秒内检查 200 个站点上的端口 80 - 但这与请求 http 状态代码不同,因为服务器可能会在端口上响应 - 但可能无法正确加载网站等)

这是代码..

<?php
  function get_httpcode($url) {
    $headers = get_headers($url, 0);
    // Return http status code
    return substr($headers[0], 9, 3);
  }

  ###
  ## Grab task and execute it
  ###


    // Loop through task
    while($data = mysql_fetch_assoc($sql)):

      $result = get_httpcode('http://'.$data['url']);   
      echo $data['url'].' = '.$result.'<br/>';

    endwhile;
?>

您可以尝试 CURL 库。您可以同时发送多个并行请求CURL_MULTI_EXEC

Example:

$ch = curl_init('http_url'); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
$c = curl_exec($ch); 
$info = curl_getinfo($ch, CURLINFO_HTTP_CODE);
print_r($info);

UPDATED

看这个例子。http://www.codediesel.com/php/parallel-curl-execution/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比 get_headers() 更快的东西 的相关文章

  • 删除行导致锁超时

    当我尝试从表中删除行时 我不断收到这些错误 这里的特殊情况是我可能同时运行5个进程 该表本身是一个 Innodb 表 约有 450 万行 我的 WHERE 子句中使用的列没有索引 其他指数按预期运行 这是在事务中完成的 首先删除记录 然后插
  • 获取带有计数的不同记录

    我有一张桌子personid and msg列 personid msg 1 msg1 2 msg2 2 msg3 3 msg4 1 msg2 我想得到总计msg对于每个personid 我正在尝试这个查询 select distinct
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • 如何使用 php 下载/打印页面的特定部分

    我有一个 HTML 页面如下 Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the indust
  • MySQL 与日语字符

    我试图弄清楚如何创建一个表 以便我可以在其中插入日语名字 现在我有 Type InnoDB Encoding UTF 8 Unicode utf8 Collation utf8 general ci 但是 当我插入字符时 它显示为 当我使用
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 交换关联数组中的两个项目

    Example arr array apple gt sweet grapefruit gt bitter pear gt tasty banana gt yellow 我想调换一下柚子和梨的位置 这样数组就变成了 arr array ap
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • PHP 中只保留数组的前 N ​​个元素? [复制]

    这个问题在这里已经有答案了 有没有办法只保留数组的前 N 个 例如 10 个 元素 我知道有array pop 但是有没有更好 更优雅的方法呢 您可以使用array slice http php net array slice or arr
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • 如何使用 PHPExcel 库从 Excel 获取日期

    我正在尝试使用 PHPExcel 从 Excel 获取日期 但我没有得到日期 我得到的字符串值不是 1970 以来的秒数 我尝试过的代码是 InvDate trim excel gt getActiveSheet gt getCell B

随机推荐

  • 无法找到哈希字符串“android-25”的目标

    我有 Android Studio 2 2 我正在尝试打开一个项目 但收到错误 无法找到带有哈希字符串 android 25 的目标 在错误消息下方 我看到一个链接 安装缺少的平台和同步项目 如果我单击此链接 我会收到另一个错误 其中显示
  • 使用 VBA 将条件格式应用于一系列单元格

    我想知道如何访问条件格式中标题为 适用于 的列并输入我自己的条件 我提供了一个屏幕截图以供更好的参考 我在条件格式中添加语法的代码是 With Selection FormatConditions Delete FormatConditio
  • 如何解析 Zend URL 中的参数?

    我正在尝试从 ZF REST URL 中提取 GET 参数 这不是当前请求 我不想调用 URL 或执行路由 我只需要参数 我正在寻找像 parse url 这样的实用函数 但适用于 Zend REST 格式 有没有 或者我必须重新发明轮子
  • 如何将我的 swift 1.2 项目迁移到 2.0?

    我有一个项目是在 swift 推出时开发的 但最近 Apple 推出了新版本的 swift 2 0 和 xCode 7 0 那么我如何将我的项目从 swift 1 2 迁移到 2 0 呢 在新的 Xcode 7 beta 中 转到编辑菜单
  • 为什么挑战-响应方法对于忘记密码来说不是一个糟糕的解决方案?

    我的公司正在开发在线人力资源和薪资应用程序 其中安全访问至关重要 我清楚如何锁定大多数身份验证 授权过程 但 忘记密码 页面除外 我最初的计划是要求用户输入电子邮件地址和对先前选择 输入的质询问题的答复 并将临时密码邮寄到列出的电子邮件 假
  • 如何解决:npm run build/dev: 缺少脚本?

    我正在尝试运行节点 但由于某种原因 节点的本地 npm 安装无法正常工作 包裹在那里 npm run dev npm ERR Darwin 15 4 0 npm ERR argv usr local Cellar node 5 6 0 bi
  • 什么取代了 .Net Core 中的 WCF?

    我习惯于创建 Net Framework 控制台应用程序并公开Add int x int y 使用类库 Net Framework 从头开始通过 WCF 服务实现功能 然后 我使用控制台应用程序在服务器内代理调用此函数 但是 如果我使用控制
  • 如何从 ASP.NET MVC 中的基本控制器连接通用代码

    我的 ASP NET MVC 应用程序是一个更大的 ColdFusion 应用程序的一小部分 该应用程序很快就会被完全替换 我通过 cookies 从 ColdFusion 部分传递一些参数 并且需要在运行每个操作之前检查此信息 如果信息丢
  • 将外部 jar 设置为 hadoop 类路径

    我正在尝试将外部 jar 设置为 hadoop 类路径 但到目前为止还没有运气 我有以下设置 hadoop 版本Hadoop 2 0 6 alpha 颠覆https git wip us apache org repos asf bigto
  • UIStoryboard 找不到带有标识符的视图控制器

    我有一个 ios 应用程序 使用带有一堆视图控制器的故事板 After Adding a new ViewController and configured the identify Storyboard ID 我尝试使用以下代码实例化新的
  • Vim - 删除直到行中最后一次出现字符

    我正在想办法dt or df字符串中最后一次出现的字符 例如 假设我有以下行 foo not relevant text bar If I f df 我预计会得到foo relevant text bar但我想得到foo bar Using
  • 提高 Pandas DataFrame 上的行追加性能

    我正在运行一个基本脚本 该脚本循环嵌套字典 从每个记录中获取数据 并将其附加到 Pandas DataFrame 中 数据看起来像这样 data SomeCity Date1 record1 record2 record3 Date2 它总
  • 将 RabbitMQ 的消息转换为 string/json

    我目前正在努力解决一个相当简单的问题 我想从 RabbitMQ 接收消息并将其转换为字符串 或稍后转换为 json 对象 但我得到的只是字节 The Message对象以这种方式将自身显示为字符串 Body cityId 644 ID nu
  • 添加超链接到闪亮图

    我制作了一个闪亮的应用程序 使用不同的绘图解决方案来渲染图表ggplot2关于闪亮 我最喜欢的是plotly 我喜欢用户可以与图表交互的事实 plotly用户可以放大图表或单击点 例如散点图 并访问它们的值 我想将散点图上的每个点链接到一个
  • 在 vim 的正则表达式引擎中,为什么有些元字符会被转义,有些则不会?

    为什么必须在正则表达式引擎中转义某些元字符 而不是其他元字符 例如 foo 1 9 按预期工作 但正则表达式 foo 1 9 必须表示为 foo 1 9 在维姆中 有人知道吗 This is because vim actually vi
  • 如何以编程方式保存网页?

    我想以编程方式保存网页 我的意思不仅仅是保存 HTML 我还希望自动存储所有关联的文件 图像 CSS 文件 可能嵌入的 SWF 等 并希望重写本地浏览的链接 预期用途是个人书签应用程序 其中缓存链接内容 以防原始副本被删除 看一眼wget
  • 批量删除除指定文件和目录之外的所有文件和目录[重复]

    这个问题在这里已经有答案了 我正在尝试使用该目录中的 bat 文件删除特定目录中的所有文件和目录 我见过这在 Linux 上完成没有问题 但在 Windows 命令环境中这似乎是一件苦差事 示例 temp 1 bat 保留 temp 特殊文
  • 我应该使用枚举作为鉴别器吗?

    枚举什么时候会崩溃 为了支持现有系统中的新功能 我只是考虑对数据库模式中的实体表实现某种形式的鉴别器 为了从做最少的事情开始 我首先决定在业务实体层使用整数列和 C 枚举 以提高可读性 这将提供穷人的多态性 最终可能发展为实际的多态性 并可
  • 如何将 cv::Mat 转换为 pcl::pointcloud

    如何从 opencv Mat 点云到 pcl pointcloud 颜色对我来说并不重要 重要的是点本身 你可以这样做 pcl PointCloud
  • 比 get_headers() 更快的东西

    我正在尝试制作一个 PHP 脚本来尽快检查网站的 HTTP 状态 我目前正在使用 get headers 并在 mysql 数据库中的 200 个随机 url 循环中运行它 检查全部 200 个 平均需要 2m 48s 我能做些什么来让它