В учебнике «Говорить с Россией» застряли на 45 - 50%

когда я пытаюсь следовать учебнику (https://stem.torproject.org/tutorials/to_russia_with_love.html) о том, как запустить Tor я застреваю на 45% ииногда на 50%. Я использую Windows 8, Python 3.4 и LiClipse Ide.

[1mStarting Tor: [0m [34mApr 26 12: 47: 21.000 [извещение] Bootstrapped 0%: запуск [0m [34mApr 26 12: 47: 21.000 [примечание] Bootstrapped 45%: запрос дескрипторов реле [0m [34mApr 26 13: 04: 00.000 [извещение] Начальная загрузка 50%: загрузка дескрипторов реле [0m

Сценарий выглядит следующим образом, изменения, которые я сделал здесь, это использоватьrequests библиотека вместоurllib запрашивать данные из источника, но я все равно не получу эту часть кода здесь. Это в основном копия кода на странице учебника с использованием SocksiPy.

TorConnector.py:

from io import StringIO
import socket
import requests

import socks  # SocksiPy module
import stem.process

from stem.util import term

SOCKS_PORT = 7000

# Set socks proxy and wrap the urllib module

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', SOCKS_PORT)
socket.socket = socks.socksocket

# Perform DNS resolution through the socket

def getaddrinfo(*args):
  return [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (args[0], args[1]))]

socket.getaddrinfo = getaddrinfo

def query(url):
  """
  Uses requests to fetch a site using SocksiPy for Tor over the SOCKS_PORT.
  """

  try:
    result = requests.get(url)
    return result
  except:
    return "Unable to reach %s" % url



# Start an instance of Tor configured to only exit through Russia. This prints
# Tor's bootstrap information as it starts. Note that this likely will not
# work if you have another Tor instance running.

def print_bootstrap_lines(line):
  if "Bootstrapped " in line:
    print(term.format(line, term.Color.BLUE))


print(term.format("Starting Tor:\n", term.Attr.BOLD))

tor_process = stem.process.launch_tor_with_config(
  config = {
    'SocksPort': str(SOCKS_PORT),
    'ExitNodes': '{ru}',
  },
  init_msg_handler = print_bootstrap_lines,
)

print(term.format("\nChecking our endpoint:\n", term.Attr.BOLD))
print(term.format(query("https://www.atagar.com/echo.php"), term.Color.BLUE))

tor_process.kill()  # stops tor

Я также попытался переместить файл сценария TorConnector.py вC:\Python34\Lib\site-packages папку и запустите ее из командной строки сpython TorConnector.py но то же самое происходит, я все еще застрял на 45%.

Кроме того, если я заканчиваю процесс Tor.exe, когда он застрял на 45%, это говорит мне об этом:

Трассировка (последний вызов был последним): файл "C: \ Users \ gatsu \ My Documents \ LiClipse Workspace \ TorCommunicator \ TorConnector.py", строка 53, в init_msg_handler = print_bootstrap_lines, файл "C: \ Python34 \ lib \ site-packages" \ stem \ process.py ", строка 246, в launch_tor_with_config возвращать launch_tor (tor_cmd, args, torrc_path, extension_percent, init_msg_handler, timeout, take_ownership) Файл" C: \ Python34 \ lib \ site-packages \ stem \ stem.py ", строка 136, в launch_tor повысить OSError ('Процесс завершен:% s'% last_problem) OSError: Процесс завершен: Не удалось открыть файл GEOIP C: \ Users \ gatsu \ AppData \ Roaming \ tor \ geoip6. Мы были настроены использовать (или избегать) узлы в определенных странах, и нам нужна информация GEOIP, чтобы выяснить, какие это узлы.

Я надеюсь, что это помогает понять, почему это заставляет меня застрять.

У меня даже нет этого файла: C: \ Users \ gatsu \ AppData \ Roaming \ tor \ geoip6

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

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