创建“我的网站是否已关闭?”的最佳方式是什么?在Ruby?我该怎么做才能使用HTTP和Ping来检查它?
感谢。
答案 0 :(得分:3)
基本上只需使用一个http库来查看你是否可以获得(实际上,HEADing会更好)他们指向的页面。如果您收到响应,则服务器已启动,否则(它没有响应或超时)它已关闭,您会相应地提醒用户。
这不是最干净的方式,但基本上是:
require 'net/http'
require 'uri'
def isUp( url )
uri = URI.parse( url )
begin
Timeout::timeout(5) {
Net::HTTP.start( uri.host, uri.port ) { |http|
http.head( uri.path )
}
}
rescue Timeout::Error
return false
end
return true
end
你可能会让它不等待超时,和/或增加超时以避免超时以避免误报,但这只是一个简单的例子。
答案 1 :(得分:2)
(作弊)
require 'uri'
require 'open-uri'
site = "http://stackoverflow.com/"
open("http://downforeveryoneorjustme.com/#{URI.parse(site).host}"){|f|f.read}["It's not just you!"]