Почему Tor не может получить доступ к локальным страницам

У меня работает Tor и скрипт Python для получения веб-страниц:

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket

print urllib2.urlopen(URL).read()

Тем не менее, если URL-адрес

http://localhost/some_page.html

Я получаю следующую ошибку:

raise Socks5Error(ord(resp[1]),_generalerrors[ord(resp[1])])
TypeError: __init__() takes exactly 2 arguments (3 given)

Может кто-нибудь объяснить мне, что именно происходит?

Спасибо.

 favoretti25 окт. 2012 г., 03:04
Я предполагаю, что он проходит через петлевой интерфейс, а не обычными способами. Попробуйте использовать IP-адрес вашего реального интерфейса, а не 127.0.0.1?
 mayotic06 февр. 2013 г., 22:03
поэтому любой веб-запрос, который вы пытаетесь сделать, кроме localhost, возвращает эту ошибку, означающую, что вы не можете направить свой трафик через Tor?
 Veni_Vidi_Vici25 окт. 2012 г., 04:45
Так тоже не работает ..

Ответы на вопрос(2)

которым разработан протокол. Когда вы отправляете запрос, он переносится на другую машину в Интернете с конвертом Socks5. Таким образом, фактический запрос сделан с внешнего сервера, поэтому доступ к 127.0.0.1 невозможен.

L. Поместите свой локальный IP-адрес в конфигурацию прокси-сервера локальной сети "Нет прокси для:". Пример 192.168.1.10. Тогда назовите свой php как "http://192.168.1.10/your_script.php"

$proxy = '127.0.0.1:9150';
$ur = "http://anydomain.com";
$ch = curl_init();

curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYTYPE, 7);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

    curl_setopt($ch, CURLOPT_URL, $ur);

    $curl_scraped_page = curl_exec($ch);
    $error = curl_error($ch);

Ваш ответ на вопрос