Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby http检查实际页面_Ruby - Fatal编程技术网

Ruby http检查实际页面

Ruby http检查实际页面,ruby,Ruby,好的,所以我得到了一些帮助检查和实际主机,看看它是否可用。然后我写了这个 我将其传递给我的服务器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

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

我将其传递给我的服务器
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

正如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

你能澄清一下你在找什么吗?你是说你只是想检查服务器是否用
200
响应
www.myhost.com/anypage.php
?没错!我发布的代码会告诉我网站是否正常运行,但我想在其上附加一个页面。我想查看站点中的实际页面?如果在服务器变量中输入www.myhost.com/mypage.php,则返回false。另一方面,它只在www.myhost.com返回true时起作用。@seeleyboot我刚刚回答了你昨天的问题。为什么不在
head
调用中指定路径呢?你能再添加一个标记吗
Net::HTTP
。问题是我正在使用的服务器将返回“未找到脚本”以及它应该位于的路径。所以我的死结是,它不会返回false,因为服务器实际上已启动,但页面不在那里?