问题描述
我正在尝试将 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 设置选项。尝试在两个地方使用相同的端口。