延々とページを取得しようとするスクリプト
ちょっとした用事で作ったスクリプト。
正常なレスポンスを返すまでひたすらリクエストを送る。
異様に重くてまともに接続できないサーバーで、ひたすらリロードを押す手間が省ける。
require 'mechanize' class Downloader def initialize(options={}) @retry = options[:retry] || 1 @interval = options[:interval] || 0 @agent = Mechanize.new end def get(uri) @retry.times do |n| sleep(@interval) begin puts "try #{n} for #{uri}" return @agent.get(uri) rescue Mechanize::ResponseCodeError # retry rescue Errno::ETIMEDOUT # retry end end end end