我写了一个脚本,用stem更改IP,但似乎不起作用。这是脚本的缩短版本:
from stem import Signal
from stem.control import Controller
from stem.connection import connect
def changeIP():
with Controller.from_port(port = 9051) as controller:
controller.authenticate()
controller.signal(Signal.NEWNYM)
def printIP():
my_ip = urlopen('http://ip.42.pl/raw').read()
print("IP -> %s" % my_ip)
#Some of my other codes
while(true):
j+=1
if j == 2:
changeIP()
j = 0
printIP()
它只是一次又一次地打印我的公共 IP。它应该打印相同的 IP 2 次然后更改,但事实并非如此。我的 torrc 配置已正确配置。
ControlPort = 9051
HashedControlPassword 16:AD2DD67382E391D960F7E38F49A1AAB31479A0576222AB885C3CCFD70B
cookie authentication 1
我什至尝试将散列的控制密码放入 中 control.authenticate(password='AD2DD67382E391D960F7E38F49A1AAB31479A0576222AB885C3CCFD70B')
,但它仍然不起作用,我也希望我的脚本不使用它。这几周我一直在寻找,我发现我可以使用SocksiPy
模块,但我不能这样做。
请重新编码我的脚本,非常感谢。