Область:
Я пытаюсь получить все мои HttpRequests, выпущенные через C #, для маршрутизации через сеть TOR.
После небольшого исследования я нашел несколько вопросов о переполнении стека, например Этот и Этот, поэтому я последовал их примерам и попробовал сам.
Пример кода:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(
"http://whatismyipaddress.com/"
);
request.Proxy = new WebProxy("127.0.0.1:8118");
using (var response = request.GetResponse())
{
using (var reader = new StreamReader(
response.GetResponseStream(),
Encoding.GetEncoding("utf-8")
))
{
string resp = reader.ReadToEnd();
}
}
Результаты:
У меня установлен и запущен Privoxy (netstat -b -a
показывает, что он работает / прослушивает порт 8118).
Запрос не регистрируется в клиенте Privoxy, хотя кажется, что он работает.
Проблема:
Как указал пользователь @Junior Mayhé, я должен раскомментировать эту строку в конфигурационном файле Privoxy.
forward-socks5 / 127.0.0.1:9050
После этого мои веб-запросы начинают получать Error 503 - Server Unavailable
.
Я попытался запустить браузер Tor, но он все равно вызывает эту ошибку.
Что я делаю неправильно?
Изменить одно:
Поиграв немного с Netstat -b -a
, похоже, что Tor Firefox на самом деле работает на Port:9151
, а не на Port:9050
, как указано в этих старых вопросах.
После изменения номера порта в файле конфигурации Privoxy на 9151 я больше не получаю ошибку «Сервер недоступен», вместо этого я получаю операцию TimedOut. Я уже увеличил значение тайм-аута запроса (тайм-аут соединения и тайм-аут чтения и записи) до 2 минут, и я все еще получаю эту ошибку.