是否有一种简单的方法检查Ruby on Rails中另一个网站的状态代码(例如http://google.com)?检查Rails中的HTTP状态代码
理想情况下,要检查的URL列表将从数据库中提取,并通过CRON(或等价物)进行处理。
是否有一种简单的方法检查Ruby on Rails中另一个网站的状态代码(例如http://google.com)?检查Rails中的HTTP状态代码
理想情况下,要检查的URL列表将从数据库中提取,并通过CRON(或等价物)进行处理。
require 'net/http'
http = Net::HTTP.new('www.google.com',80)
response = http.request_get('/')
p response.status
会更有效(通信方式)可能是:
response = http.request_head('/')
p response.status
来源:http://ruby-doc.org/stdlib/libdoc/net/http/rdoc/classes/Net/HTTP.html#M001403
可以通过调用访问请求ENV:
def index
@req = (request.env).inspect
end
# index.html.erb
<%= @req %>
谢谢!哪里是最好的地方把它自动化(例如通过CRON)?它是否属于它自己的Ruby文件? –
如果它使用的是数据库,并且activerecord有意义,那么可以将其放入一个rails项目中,并且该存根将/文件中的所有内容加载到/ script中。有存根使用需要加载您的工人并开始运行。我通常将这些文件放入app/workers/someworker中。我通过crontab -e调用cron setup来启动这种类型的事情。 – ebeland
它不是'response.status',而是'response.code',请参阅http://www.ruby-doc.org/stdlib-1.8.7/libdoc/net/http/rdoc/Net/HTTPResponse.html – cbliard