0

我正在尝试使用 stem Python 库更改我的 Tor IP 地址。下面的代码工作正常(我也用它来抓取),但 get_newnym_wait() 总是返回“0”,这样我就无法在请求新 IP 之前定义相关的睡眠时间。

请参阅下面的 MWE 代码(只需将控制器端口设置为您自己的测试即可)。

预先感谢您的帮助。

from stem import CircStatus
from stem import Signal
from stem.control import Controller
from random import randint
import time
from time import sleep

def renew_connection():
    with Controller.from_port(port = 9151) as controller:
        controller.authenticate();
        print controller.get_newnym_wait()
        time.sleep(controller.get_newnym_wait());
        controller.signal(Signal.NEWNYM);
    return;

def get_tor_exit_ip():
    with Controller.from_port(port = 9151) as controller:
        controller.authenticate()
        for circ in controller.get_circuits():
            if circ.status != CircStatus.BUILT:
                continue;
            exit_fp, exit_nickname = circ.path[-1]
            exit_desc = controller.get_network_status(exit_fp, None)
            exit_address = exit_desc.address if exit_desc else 'unknown'
        return exit_address;

a = 0
while a < 5:
    a = a + 1;
    renew_connection();
    print get_tor_exit_ip(); 
4

0 回答 0