如何在没有浏览器的情况下在 python 中使用 Tor?

Posted

技术标签:

【中文标题】如何在没有浏览器的情况下在 python 中使用 Tor?【英文标题】:How to use Tor without browser in python? 【发布时间】:2017-05-16 16:45:01 【问题描述】:

我有一个客户端原始套接字应用程序,我想连接到 .onion 地址上的服务器。一切正常,除了我必须打开 Tor 浏览器才能通过客户端脚本连接到服务器。我认为这是因为 Tor 浏览器启动时会打开。我尝试使用 tor.exe -f "torrc-defaults path" 在没有浏览器的情况下启动 tor。在任务管理器中,似乎 tor 正在运行,但我的客户端脚本给了我一个错误,例如 tor 未打开。那么如何在我的电脑中没有安装 Tor 的情况下连接到 Tor? 这是我的客户端错误:

Traceback (most recent call last):
  File "client_onion.py", line 10, in <module>
    s.connect((onion_address,port))
  File "C:\Python27\lib\site-packages\socks.py", line 96, in wrapper
    return function(*args, **kwargs)
  File "C:\Python27\lib\site-packages\socks.py", line 813, in connect
    negotiate(self, dest_addr, dest_port)
  File "C:\Python27\lib\site-packages\socks.py", line 477, in _negotiate_SOCKS5
    CONNECT, dest_addr)
  File "C:\Python27\lib\site-packages\socks.py", line 552, in _SOCKS5_request
    raise SOCKS5Error("0:#04x: 1".format(status, error))
socks.SOCKS5Error: 0x04: Host unreachable

【问题讨论】:

在torproject.org/download/download.html.en查看适用于 Windows 的 Tor Expert Bundle,这是您应该使用的,而不是浏览器。 谢谢,这正是我想要的。现在可以使用了。 【参考方案1】:

使用"Expert Bundle" 无需任何浏览器即可获取 Tor 二进制文件。专家包连接到 Tor 网络并允许您进行 SOCKS5 连接和控制端口连接。您可以通过配置文件或“Tor 控制器”控制它所做的一切。 您可以从Download 下载它 | Mirror 1

【讨论】:

以上是关于如何在没有浏览器的情况下在 python 中使用 Tor?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有下载的情况下在离子应用程序中显示pdf文件

如何在 URL 中没有 # (哈希)的情况下在 Elm 中进行路由/导航?

如何在没有来自脚本的 Internet 连接的情况下在 Python 中转发地理编码?

如何在没有 ChromeDriver.exe 的情况下在 Maven 中使用 selenium-chrome-driver

如何在不刷新闪烁的情况下在浏览器中显示不断变化的图像文件?

有没有办法在没有 Windows 询问“你想如何打开这个文件”的情况下在 python 中发送电子邮件?