当我从词干文档中运行[example] [1]时,出现错误:
OSError: Process terminated: Failed to bind one of the listener ports.
Run Code Online (Sandbox Code Playgroud)
我正在运行的确切代码如下:
import socks
import socket
import stem.process
import urllib
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):
return urllib.urlopen(url).read()
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))
print(query("/sf/ask/2120040541/"))
tor_process.kill()
Run Code Online (Sandbox Code Playgroud)
我已经看到答案,说端口9050上还有另一个进程正在运行,但是sudo netstat -anl | grep 9050在终端中运行命令不会给我任何结果。
请随时提出任何可能有帮助的建议。
另外,关于“以爱去俄罗斯”的第一个例子是完美的。
感谢您提供的任何帮助。
小智 8
检查tor是否已安装
sudo apt install tor
Run Code Online (Sandbox Code Playgroud)
检查一下
sudo gedit /etc/default/tor
Run Code Online (Sandbox Code Playgroud)
找到并补充“是”到“否”
RUN_DAEMON="yes"
Run Code Online (Sandbox Code Playgroud)
停止守护程序
sudo /etc/init.d/tor stop
Run Code Online (Sandbox Code Playgroud)