2011-12-18 7 views
4

Я пытаюсь использовать Tor с python и urllib2 и застрял. СледующегоPython urllib2 Tor 514 Требуется аутентификация

print opener.open('http://check.torproject.org/').read() 

И

telnet 127.0.0.1 9051 

дает мне следующую ошибку:

514 Authentication Required. 

Вот код, который я хочу использовать: Но я получаю ту же 514 Ошибки аутентификации на urllib2 .urlopen call.

import urllib2 
# using TOR ! 
proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:9051"}) 
opener = urllib2.build_opener(proxy_support) 
urllib2.install_opener(opener) 
# every urlopen connection will then use the TOR proxy like this one : 
urllib2.urlopen('http://www.google.com').read() 

Любые предложения по поводу того, почему это происходит?

Тор Видалия браузер -> Настройки -> Дополнительно: Authentication значение 'Случайным Сформировать'

Я использую Python 2,65 urllib2 Tor

ответ

1

поиск Google suggests (и Tor ручной confirms), что 9051 является Тору порт управления по умолчанию. Фактический прокси-сервер работает по умолчанию на порту 9050, который вам нужен. Однако Vidalia не использует порты по умолчанию без дополнительной настройки.

Другая проблема заключается в том, что urllib2 по умолчанию не может работать с прокси SOCKS. Для возможных решений см. Эти twoquestions.

+0

Итак, я заменил 9051 на 9050 и теперь получил «отказ в соединении». Я использую установку обозревателя Tor для Linux. Tor работает через консоль Vidalia. В файле журнала отображается «открытие контрольного прослушивателя на 127.0.0.1:9051». Мне нужно включить порт 9050? Когда я делаю «netstat -a | grep 905», все, что я вижу, это порт 9051. Это должно быть что-то простое, что мне не хватает. –

+0

Я узнал, как включить порт для носков. в файле Tor ./Data/Tor/torrc я сменил SocksPort с auto на 9050. Теперь я вижу 9050 прослушивание, когда я делаю netstat. Теперь следующая проблема заключается в том, что при использовании 9050, urllib2 жалуется, что «Tor не является HTTP-прокси». Поэтому теперь похоже, что я должен использовать HTTP-прокси, например privoxy для работы с Tor. Если нет, сообщите мне. –

+0

Похоже, что Vidalia в комплекте использует нестандартные порты ... Журнал сообщений - Advanced в Vidalia должен содержать строку, такую ​​как «прослушиватель прослушивания носков на порту » - это тот порт, который вам действительно нужно использовать. Или переключите порт так, как вы это делали. – Tanriol