Как организовать регулярный обход нескольких сайтов через прокси из ruby?

Есть потребность регулярно доставать некоторые данные из веб-интфрейса нескольких сторонних систем. (Цены показа рекламы, что бы оптимизировать прибыль с ее показа). Т.е. есть вероятность каких-то санкций со стороны этих систем за регулырные обращения, нужно использовать разного рода прокси, которые в случае чего можно было бы легко сменить. Система написана на ruby, поэтому и сами "роботы" тоже на нем. Сейчас используется гем socksify и socks-сервер с помощью обычного ssh (ssh -D 9999 -N server.domain.com). Роботы используют Net::HTTP::SOCKSProxy для работы через этот прокси.

Однако, этот способ имеет ряд проблем.
  • регулярно со стороны роботов вылезает ошибка "SOCKS version is not 5". Гугление не дает вменяемых путей решения
  • в какой-то момент ssh-socks перестает работать, вываливает в консоль на каждый запрос "channel 1018: open failed: administratively prohibited: open failed". Рестарт помогает, но до определенного момента.
  • регулярные таймауты разного рода, но это может быть связано с проблемами собственно систем, откуда берем данные, так что проблема вторична.


Спасибо за подсказки, в какую сторону смотреть.
  • Вопрос задан
  • 418 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы