2012-04-19 3 views
1

私はウェブサイトにpingして応答をチェックするために以下のコードをrubyに書いています。応答が正しければウェブサイトはうまく応答しますが、そうでない場合はウェブサイトが応答していないことを示します。ウェブサイト(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 

このコードは正常に動作しますが、ウェブサイトが応答する応答時間を計算することはできません。

私の質問はです。どのようにウェブサイトが応答する応答時間を計算するのですか?

答えて

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" 

が、これは

を役に立てば幸い
関連する問題