Making HTTP HEAD request with timeout in Ruby

人盡茶涼 提交于 2019-12-02 02:33:34

Try this snippet:

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

Hope this is what you're looking for.

UPDATE

Because there is head method that looks like

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

You can also use this snippet:

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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!