计算ping网站时的响应时间(Ruby)

Swa*_*wal 1 ruby sockets ping

我在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)

此代码工作正常,但无法计算网站响应的响应时间.

所以我的问题是如何计算网站响应的响应时间?

Shr*_*wal 5

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)

希望这可以帮助