Восстановить сеть::ERR_CONNECTION_SET Механизировать Ruby
Я создаю веб-сканер, используя Mechanize для ruby. Я буду запускать пакеты по 200 Кб одновременно, и я хочу иметь возможность установить переменную экземпляра, которая не будет действительна для сайта, и перейти к следующему сайту, когда запрос get вернет ошибку. Например, я сканирую сайт, который возвращается, когда по нему запускается запрос http get Error 101 (net::ERR_CONNECTION_RESET): The connection was reset.
и мое приложение вылетает.
def crawl
agent = Mechanize.new
agent.log = Logger.new('out.log')
agent.user_agent_alias = 'Mac Safari'
begin
page = agent.get(@url)
rescue Mechanize::ResponseCodeError => exception
if exception.response_code == '400' or exception.response_code == '500'
@isActive = false
return
end
end
end
Есть ли исключение, которое я должен поймать, чтобы я мог восстановиться после ERR_CONNECTION_RESET или какой подход вы, ребята, использовали для этого?
1 ответ
Решение
Почему бы не поймать все?
begin
page = agent.get(@url)
rescue
@isActive = false
end