0

好的,所以我昨天得到了一些帮助,检查了实际主机,看看它是否可用。然后我写了这个。

我将它传递给我的服务器www.myhost.com和端口 81。完美运行。但是如果我想实际检查一个页面怎么办。www.myhost.com/anypage.php?不确定,但我认为问题出在备用端口上。

def server_up(server, port)
  http = Net::HTTP.start(server, port, {open_timeout: 5, read_timeout: 5})
  response = http.head("/")
  response.code == "200"
rescue Timeout::Error, SocketError
  false
end
4

1 回答 1

1

正如评论中提到的 tadman,您可以修改您的方法以接受可选的路径参数(如下)。但是,您可能想要重命名该方法,因为它不再只是检查服务器是否启动,而是检查页面是否存在。

def server_up(server, port, path="")
  http = Net::HTTP.start(server, port, {open_timeout: 5, read_timeout: 5})
  response = http.head("/#{path}")
  response.code == "200"
rescue Timeout::Error, SocketError
  false
end
于 2013-05-09T18:41:58.313 回答