2017-08-31 92 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