我在ruby中编写了以下代码来ping网站并检查响应.如果响应成真,网站反应良好,但如果错误则显示网站没有响应.
require 'net/http'
require 'uri'
def ping(host)
begin
url=URI.parse(host)
response=Net::HTTP.get(url)
if response==""
return false
else
return true
end
rescue Errno::ECONNREFUSED
return false
end
end
Run Code Online (Sandbox Code Playgroud)
此代码工作正常,但无法计算网站响应的响应时间.
所以我的问题是如何计算网站响应的响应时间?
require 'net/http'
require 'uri'
def ping(host)
begin
url = URI.parse(host)
start_time = Time.now
response = Net::HTTP.get(url)
end_time = Time.now - start_time
if response==""
return false
else
puts "response time : #{end_time}"
return true
end
rescue Errno::ECONNREFUSED
return false
end
end
ping "http://www.google.com"
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助