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.