Ruby, Tor и Net:: HTTP:: прокси

мои извинения заранее, если это сомнение noobish: я хочу использовать прокси в моем Ruby-коде, чтобы получить несколько веб-страниц. И я хочу быть осторожной! Поэтому я использую Tor.

У меня работает Tor, и я могу использовать Net:: HTTP.get (uri) как обычно. Но я не могу понять, как использовать Net::HTTP::Proxy для извлечения uri. Я также не могу понять, как использование Tor поможет сделать мои выборки анонимными.

любая помощь очень ценится. Пожалуйста, не просто добавьте ссылка на страницу ruby-doc для Net::HTTP:: Proxy. Если бы я понял это, я бы не спрашивал об этом здесь: -)


еще один простой способ сделать это с помощью нужна соксификация, но и в этом случае, я получаю следующую ошибку:

/usr/lib/ruby/gems/1.9.2-p290/gems/socksify-1.5.0/lib/socksify.rb:189:in 'socks_authenticate': SOCKS version not supported (SOCKSError)

Я никогда раньше не занимался сетевым программированием. Любые указания по этому поводу также будут очень полезны. Спасибо :-)

1 ответов


вы используете класс http proxy, поэтому вы должны предоставить IP http proxy. Браузер Tor имеет не HTTP-прокси в комплекте.

таким образом, вы можете установить некоторое прокси-программное обеспечение, например С Privoxy и настройте его на использование носков Tor:

на конфигурации.txt forward-socks4a / 127.0.0.1:9050 .

затем использовать Privoxy, его по умолчанию слушать-адреса в свой скрипт:

proxy = Net::HTTP::Proxy('127.0.0.1',8118)

или использовать нужна соксификация. В соответствии с docs:

require 'socksify/http'
uri = URI.parse('http://rubyforge.org/')
Net::HTTP.SOCKSProxy('127.0.0.1', 9050).start(uri.host, uri.port) do |http|
  http.get(uri.path)
end

нет необходимости в дополнительном программном обеспечении..

третий решение заключается в использовании SOCKSify следующим образом:

$ socksify_ruby localhost 9050 script.rb

которые перенаправляют все TCP-соединения сценария Ruby, что означает, что вам не нужно использовать какой-либо прокси-код вообще.

для уточнения вы должны понимать, что 127.0.0.1: 9050-это адрес SOCKS Tor, а 127.0.0.1: 8118-адрес Privoxy.