我有几个端点,我想用Ruby监控。我想获得他们的状态代码(例如200)。我目前以这种方式这样做
uri = URI.parse("http://example-domain.com")
response = Net::HTTP.get_response(uri)
status = response.code
但是,如果URL无效,则会出现进程错误。我想要一些通知我URL无效的东西(理想情况下返回" 404"到状态变量)
提前致谢
答案 0 :(得分:0)
uri = URI.parse("http://example-domain.com/wrong")
begin
response = Net::HTTP.get_response(uri)
rescue Exception
end
status = response ? response.code : '0'
答案 1 :(得分:0)
使用rescue
来捕获异常。像这样:
require 'uri'
require 'net/http'
uri = URI.parse("http://bad-example-domain.com")
begin
response = Net::HTTP.get_response(uri)
rescue Exception => e
p "Bad url: #{e}"
end
if response
status = response.code
else
status = "404"
end
p status
有关您可以在网络中找到的例外的详情,例如:http://www.tutorialspoint.com/ruby/ruby_exceptions.htm