在 Ruby 中发出超时的 HTTP HEAD 请求

2023-12-03

在 Rails 应用程序中,我想对资源(用户提供的 URL)发出 HTTP HEAD 请求,以确保它存在。我还想要一个超时,以确保该方法在花费合理的等待时间后失败。实现此目的最直接的方法是什么(如果可能,使用标准库)?


试试这个片段:

require 'net/http'

Net::HTTP.start('www.some_site.com') do |http|
  http.open_timeout = 2
  http.read_timeout = 2
  req = Net::HTTP::Head.new('/')
  http.request(req).each { |k, v| puts "#{k}: #{v}" }
end

希望这就是您正在寻找的。

UPDATE

因为有head看起来像的方法

def head(path, initheader = nil)
  request(Head.new(path, initheader))
end

您还可以使用此代码片段:

require 'net/http'

Net::HTTP.start('www.rubyinside.com') do |http|
  http.open_timeout = 2
  http.read_timeout = 2
  http.head('/').each { |k, v| puts "#{k}: #{v}" }
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ruby 中发出超时的 HTTP HEAD 请求 的相关文章

  • HMC SHA1 哈希 - C# 生成与 Ruby 不同的哈希输出

    我正在尝试为我正在使用的第三方服务快速获取一个有缺陷的 Net 客户端库 原始库 可以运行 是用 Ruby 编写的 但 DotNet 的等效库会向 Ruby 库生成不同的哈希输出 Ruby加密代码如下 def self encrypt st
  • 有没有办法避免自动更新 Rails 时间戳字段?

    如果您有数据库列created at and updated at当您创建和更新模型对象时 Rails 将自动设置这些值 有没有办法在不接触这些列的情况下保存模型 我正在引入一些旧数据 我想根据 不同名称的 旧数据字段中的相应值设置这些值
  • 黄瓜与 RSpec

    我想开始深入研究 BDD 我以前从未使用过 TDD 现在 不确定我是否应该从学习 RSpec 开始 然后跳到 Cucumber 或者直接使用 Cucumber 我一直在互联网上阅读有关两者的内容 在我看来 Cucumber 可能是 RSpe
  • 对范围值进行排序

    我想对表示数值范围的字符串数组进行排序 如下所示 b 0 5 100 250 5 25 50 100 250 500 25 50 使用sort我得到的方法 b sort gt 0 5 100 250 25 50 250 500 5 25 5
  • Rails 中的助手 - 构建 html 字符串时的最佳方法是什么?

    我通常这样写助手 def bloco vazio texto btn args titulo content tag h3 Vazio p content tag p texto content tag div titulo tag hr
  • 由于 MIME 类型不受支持,拒绝应用样式

    我不断收到一条错误消息 指出 MIME 类型 text html 不可执行或不是受支持的样式表 MIME 类型 并且启用了严格的 MIME 检查 我的链接代码是
  • 如何使用国家宝石

    我正在尝试使用国家宝石 https github com hexorx countries 但是在我捆绑安装这个 gem 后 有一些关于如何合并它的基本问题 我是否需要创建新的控制器 模型才能访问这些国家 地区 如何创建一个简单的选择下拉列
  • Rails 如何使用 send_data 导出数据,然后重定向到新页面?

    我有一个 Rails 应用程序 允许用户下载生成的 CSV 文件 下载文件后 我想将用户重定向到新的 URL 或操作 有没有在 send data 之后进行重定向的技巧 我想做这样的事情 这不起作用 send data output typ
  • 自动加载常量时检测到循环依赖

    我将 Rails 从版本 3 1 2 运行良好 升级到 4 0 并遇到以下错误 circular dependency detected while autoloading constant Foo 我创建了一个类ProductFactor
  • 将一幅图像合成到另一幅图像上时,RMagick 透明度不起作用

    在下面的代码中 我尝试在一些山脉的图像上覆盖一个透明的正方形 我认为它会起作用 但是通过设置background color none 它不会使图像透明 结果是左上角有一个黑色方块 所需的结果是黑色方块应该是透明的 require open
  • 如何将 devise/omniauth 重定向到我登录的页面?

    我通过omniauth 进行了身份验证 并且该链接通过layout application html haml 在每个页面上都可用 然而 当他们完成omniauth身份验证后 他们都会进入root权限 我如何设置它 以便他们重定向到他们单击
  • Rails HABTM 设置、模型对象和 join_table 插入控制器设置

    我有以下设置 1 个产品有多个 Product types 许多 Product types 有 1 种类型 根据我对文档的理解 HABTM 关系 我的模型是 class Product lt ApplicationRecord has a
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • time_select 表单助手将新时间对象解释为 UTC,而不是配置的时区

    我遇到了对我来说似乎很简单的问题 但我无法弄清楚我做错了什么 在我的应用程序中 用户可以通过简单的 form for 添加他们的课程 他们可以输入课程讲座的开始时间和结束时间 如下所示 div class field Start Time
  • Rails 4 可安装引擎,找不到文件“jquery”

    我正在创建一个 Rails 可安装引擎插件 它使用 gem jquery rails 我在 gemspec 文件中添加了这段代码 s add dependency jquery rails gt 3 0 1 and run bundle i
  • Cucumber / Savon 省略或删除日志输出

    在运行黄瓜测试时 我得到 除了测试结果之外 许多与调试 日志相关的输出 格式如下 D 2013 03 06T12 21 38 911829 49031 DEBUG SOAP request D 2013 03 06T12 21 38 911
  • 如何使用sunspot_rails gem 搜索相关文章

    我有一个迷你博客应用程序 我希望用户查看与他们在文章显示页面中阅读的内容相关的文章 没有 sunspot rails gem 我会做这样的事情 在我的模型中 def self related search query join AND fi
  • Gem 在 irb 中可用,但在 Rails 控制台中不可用

    我正在尝试在我的 Rails 项目中使用 RedCloth gem 当我使用irb我可以加载宝石 require rubygems require RedCloth 它工作正常 但是当我在 Rails 控制台中尝试相同的操作时 我收到一条错
  • 如何在 Ruby 中重写 require ?

    我需要覆盖require来自 Ruby 文件 这是我的 start rb 应用程序入口点 所必需的 rubygems在此之前加载 位于 start rb 中 我尝试的所有操作都出现了堆栈溢出错误 正确的做法是什么 一般来说 如果你想修补一些
  • 查找 Rails 应用程序中未使用的代码

    如何查找正在运行和未运行的代码生产中 该应用程序经过充分测试 但还有很多测试unused代码 因此 他们在运行测试时得到覆盖 我想重构并清理这个烂摊子 它一直在浪费我的时间 我有很多后台工作 这就是为什么我希望生产环境来指导我 在 Hero

随机推荐

  • android canvas绘制圆圈并获取触摸事件

    我一直在尝试在我需要的地方制作这样的演示draw许多 数百个 circle形状上canvas 或任何其他方式 如果可能的话 绘制画布后我需要缩放并移动它 并且还想捕捉分别对每个形状进行单击 触摸 事件 所以我知道我可以获取画布触摸事件并获取
  • 有没有办法使用 while 循环函数作为列表跟踪器?并与 FileI/O 混合?

    to do list while True in listed input item list if in listed quit break if in listed 0 add num1 int user li 1 to do list
  • 将系统调用事件跟踪输出的格式更改为 ftrace

    我启用了 ftrace 事件跟踪sys enter openat系统调用 各自的输出格式给出events syscalls sys enter openat format is print fmt dfd 0x 08lx filename
  • 为什么像“矩形”和“线条”这样的绘图命令会忽略“推迟”?

    我试图在循环中显示一个变化的矩形 并暂停 并且它忽略了延迟 实际上应该是默认的 这是简化版本的代码 clc close all clear all rect 10 10 20 30 figure axis 0 200 0 50 for i
  • 为什么我的系统库和框架在 macOS Monterey 中不可见?

    我在刚刚构建的 dylib 上使用 otool L 检查了一些依赖关系 并得到了以下系统依赖关系 System Library Frameworks Accelerate framework Versions A Accelerate co
  • 用纯Python控制游戏控制器的振动电机?

    我买了一个带有振动电机的标准游戏控制器 它自称为 SHANWAN Android Gamepad 但似乎与其他游戏兼容 因为它在 Linux 上开箱即用 运行良好 我找到了一个脚本 使我能够从游戏控制器设备路径读取数据https gist
  • array_udiff 似乎不起作用

    我试图用 array udiff 比较两个数组 但这很奇怪 看来 array udiff 没有得到正确的答案 这里是现场演示 结果应该是一个空数组 但保留一个未过滤的元素
  • 使用 C# 在 Windows 应用程序中从一种表单检索值到另一种表单 [重复]

    这个问题在这里已经有答案了 我有一个登录表单和更改密码表单 我想检索登录时在登录表单中输入的用户名值 我创建了一个名为 RetUserName 的属性 如下所示 public partial class frmLogin Form priv
  • 在 $bind_param() 中动态绑定参数; mysqli

    我有 DB 类 它处理将对数据库进行的所有查询 我的 mysqli 准备工作正常 bind param 也工作正常 但问题是我想动态定义变量类型 这是我的代码 public function query sql params array t
  • Android File.listFiles 不显示目录内的所有文件

    我正在使用 Android Emulator 2 2 版本来开发一个小应用程序 我应该列出目录下的所有图像文件 jpg 文件 我通过 ADB puash 命令将文件复制到 data 示例 data 1 jpg 现在 我创建一个 File 对
  • php switch 语句 int = 0 时出错

    我在 php switch case 中遇到问题 当我设置 数字 0它应该首先运行case但这里代码返回10 20K这是第二种情况 我检查了比较运算符 在 if else 情况下测试了它们 它们返回正确的值 但这里第一种情况不运行 数字 0
  • 浮点运算:误差求和与乘法

    我试图理解这个简单示例背后的浮点运算 理论上 这两种代码在算术上是等价的 但显然一系列加法比简单的乘法增加了更多的错误 s 0 0 for i in range 10 s 0 1 print s print 30f s 0 99999999
  • 使用 VarArgs 隐式定义

    我刚刚注意到implicit def似乎在 var args 中不起作用 例如 我有一个java函数 它需要java lang Byte 作为其参数输入 该函数调用被一个 scala 方法包围 该方法采用scala Byte implici
  • 这种即发即忘的方法正确吗?

    我已经实施了Instagram API 实时更新 基本上 当根据我的订阅添加新图像时 它们会向我提供的 url 发出 POST 请求 他们说 您应该在 2 秒超时内确认 POST 如果您需要对收到的信息进行更多处理 您可以在异步任务中执行此
  • 将反应表行数据传递给反应模式

    作为 React 新手 我很难将数据从反应表传递到 编辑 模式 并且似乎无法找到类似问题的解决方案 数据通过 Axios API 调用从数据库中获取并呈现在反应表中 我需要将渲染行的数据传递到模式 以便随后发出放置请求并将数据更新到服务器
  • Groovy 子类调用访问闭包的超类方法

    我有一个很棒的超类 如下所示 class AGroovyClass private String str hello void printString int nTimes nTimes times println str 和子类 clas
  • mac os jdk 1.8 问题 vlc 控制 JAWT 无法加载

    JavaVM WARNING JAWT GetAWT must be called after loading a JVM Exception in thread AWT EventQueue 0 java lang Unsatisfied
  • 使用 MySQL C API - 使用准备好的语句检查插入行是否成功

    我开始学习如何使用 MySQL C API 并遇到了准备好的语句 我以前没有在其他语言中使用过这些 所以这对我来说都是新的 我在网上查了一下 我已经弄清楚如何使用准备好的语句从SELECT查询 现在我想做的是INSERT一些数据 看看是否成
  • 返回与值部分匹配的记录

    我正在尝试让查询工作 该查询从表单控件获取值 有时只是字符串的第一部分 我遇到的问题是 它仅在输入完整字符串时返回记录 即在姓氏框中 我应该能够输入 gr 它会显示 绿色的 灰色的 格雷厄姆 但目前除非使用完整的搜索字符串 否则它不会显示任
  • 在 Ruby 中发出超时的 HTTP HEAD 请求

    在 Rails 应用程序中 我想对资源 用户提供的 URL 发出 HTTP HEAD 请求 以确保它存在 我还想要一个超时 以确保该方法在花费合理的等待时间后失败 实现此目的最直接的方法是什么 如果可能 使用标准库 试试这个片段 requi