Используя прокси с URL-адресом rails
Таким образом, у меня есть веб-скребок nokogiri, отлично работающий на моей локальной машине.
Однако, когда я пытаюсь запустить веб-очистку в своей производственной среде, появляется код ошибки 403.
Я полагаю, что это связано с тем, что сайт блокирует мой ip моего сервера (возможно, потому что предыдущие люди, использующие этот ip, заблокировали его)
Можно ли перенаправить запрос nokogiri с моего веб-сервера через прокси-сервер? Если так, как бы я пошел по этому поводу?
Это код, который у меня есть на данный момент.
doc = Nokogiri::HTML(open(URL HERE, 'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.854.0 Safari/535.2'))
1 ответ
На самом деле, вы можете просто использовать :proxy
Параметр OpenURI open
метод.
open(*rest, &block)
#open provides `open' for URI::HTTP and URI::FTP.
...
The hash may include other options, where keys are symbols:
:proxy
Synopsis:
:proxy => "http://proxy.foo.com:8000/"
:proxy => URI.parse("http://proxy.foo.com:8000/")
If :proxy option is specified, the value should be String, URI, boolean or nil.
Кроме того, в качестве общего соображения (сейчас утомительно), вы должны искать альтернативы, связанные с утилизацией контента, особенно если это делается на регулярной основе. Такие вещи, как поддерживаемый API или альтернативные источники. Если ваш текущий IP-адрес сервера заблокирован, то же самое может произойти и с прокси.