stem.SocketError: [Errno 111] 连接被拒绝

问题描述

我正在尝试将 Flask 应用程序部署为 .onion 站点。我正在使用茎。我已经浏览了一堆教程,但仍然出现此错误

stem.socketError: [Errno 111] 连接被拒绝

我已经配置了 torrc,并且我已经更改了 Tor 隐藏服务的密码。我什至尝试调整代码顺序(无济于事。)。有谁知道出了什么问题?

这是代码(这是教程的原文(我在没有自己的东西的情况下尝试过。)):

from stem.control import Controller
from flask import Flask

if __name__ == "__main__":

    app = Flask("example")
    port = 5000
    host = "127.0.0.1"
    hidden_svc_dir = "c:/temp/"

    @app.route('/')
    def index():
        return "<h1>Tor works!</h1>"
    print (" * Getting controller")
    controller = Controller.from_port(address="127.0.0.1",port=9151)
    try:
        controller.authenticate(password="my_password")
        controller.set_options([
            ("HiddenServiceDir",hidden_svc_dir),("HiddenServicePort","80 %s:%s" % (host,str(port)))
            ])
        svc_name = open(hidden_svc_dir + "/hostname","r").read().strip()
        print (" * Created host: %s" % svc_name)
    except Exception as e:
        print (e)
    app.run()

解决方法

您正在使用两个不同的端口。从 9151 获取控制器,然后为 5000 设置选项。尝试在两个地方使用相同的端口。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...