是否有一種簡單的方法檢查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