我试图在使用词干和以下功能获得一个新的IP,这个功能受到了很大的启发。 this answer:
def get_new_IP():
socket.socket = old_socket
with Controller.from_port(port=SOCKS_PORT) as controller:
controller.authenticate()
controller.signal(Signal.NEWNYM)
socket.socket = socks.socksocket
但是我收到错误' IncorrectSocketType:无法使用控制套接字'由controller.authenticate()
提出,由于没有密码或任何指定的东西,我留下了一点点丢失,我设置的初始连接也有效。
我还尝试在启动tor进程时将'CookieAuthentication': str(1)
,as suggested here添加到配置设置中,但这也没有用。
为什么初始连接有效,为什么我尝试重新连接时无法通过身份验证?
答案 0 :(得分:4)
Controller.from_port()应该连接到ControlPort而不是你的torrc中定义的SocksPort(ControlPort是Stem与之对话的,而SocksPort是像Firefox一样使用tor的应用程序)。
https://stem.torproject.org/tutorials/the_little_relay_that_could.html
正如常见问题解答中所述,请显示一些限制,因为自行车IP会对网络造成压力...
https://stem.torproject.org/faq.html#how-do-i-request-a-new-identity-from-tor