2017-08-31 85 views
1

我已经安装了Tor作为我的Windows机器上的服务运行,并且我试图通过Stem包在python中发出请求。在我的torrc文件中,我将ControlPort指定为9051并设置了一个HashedControlPassword。当我运行netstat,我看到的Tor是在本地主机上运行:9050,但没有什么监听端口9051.结果是,当我尝试连接到ControlPort在python:让Tor ControlPort工作

Controller.from_port(port=9051) 

导致

[Errno 10061] No connection could be made because the target machine actively refused it 

我试过重新启动服务,我甚至重新安装了Tor浏览器,但似乎没有任何东西让ControlPort工作。

+1

防火墙问题?当你得到它的工作,你可能想要使用'context_manager'形式:'与Controller.from_port(端口= 9051)作为控制器:controller.authenticate(密码=“”)' – AChampion

回答

4

您遇到的问题是因为您作为Windows服务运行。 问题是,当tor作为服务安装时,无论出于何种原因,控制端口未启用。 要解决您的问题,打开你的终端,导航到TOR目录,键入以下命令:

tor --service remove 
tor --service install -options ControlPort 9051 

现在,TOR安装为一个服务,如果你键入ControlPort在端口9051. 启用“ netstat -an“您现在将看到端口9051处于打开状态。

然后,您将能够使用Stem连接到ControlPort。

我希望这会有所帮助。

和平。 Sat Cit Ananda。那带着几分从Sat Cit Ananda的回答扭捏的我(窗口10)工作

+1

多数民众赞成在奇怪的,谢谢你的解释。 – Einstein

+2

是的,很奇怪,我整整一个下午都没搞清楚问题的原因以及如何解决问题。很高兴我能帮助你,也许其他将来也会面临同样问题的人。 –

+1

有几个tor文件夹,需要的路径是'... \ Tor浏览器\浏览器\ TorBrowser \ Tor' – JinSnow

1

解决方案:

[at your terminal] 
cd ...\Tor Browser\Browser\TorBrowser\Tor 
tor --service remove 
tor --service install -options ControlPort 9151 
netstat -an 

Tor的服务在上9151默认端口9150和ControlPort运行。 当您运行netstat -an时,您应该能够看到本地地址127.0.0.1:9150127.0.0.1:9151