2012-04-19 42 views
1

我已經在ruby中編寫了以下代碼來ping網站並檢查響應。如果迴應成真,網站反應良好,但如果網站沒有迴應則表示網站沒有迴應。計算ping網站時的響應時間(Ruby)

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 

此代碼工作正常,但無法計算網站響應的休息時間。

所以我的問題是如何計算網站響應的響應時間?

回答

1

如何在url = URI.parse(主機)和響應之後添加Time.now?

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" 

希望這有助於