2011-01-11 72 views

回答

0

變化你的意思是「在線」,並且如果ping未被禁用。

system('ping hostname') 

您還可以訪問所有內置的系統工具反饋。

2

由於@JacobRelkin猛拉他的回答,我會後它。請注意,您必須將協議包含在域名中。

require 'net/http' 
require 'uri' 

def website_online?(site_url) 
    begin 
     url = URI.parse(site_url) 
     res = Net::HTTP.start(url.host, url.port) {|http| 
     http.get('/') 
     } 
     res.body.length > 0 
    rescue 
     false 
    end 
end 

p website_online?('phrogz.net') 
#=> false 

p website_online?('http://phrogz.net') 
#=> true 
+0

嘿!我一直在用irb測試我的答案,並且得到了一些奇怪的結果,所以我抽了它。 – 2011-01-11 19:53:36