我一直在使用 python 与 Tor 和 Stem 进行交互。在代码中,它总是用错误controller.signal(Signal.NEWNYM)
标记Signal
Instance of 'Enum' has no 'NEWNYM' memberpylint(no-member)
我不知道它为什么这样做。这部分代码是 Stem 官方网站用来更改 IP 地址的代码。
我也曾pylint
一度关闭,但这意味着我不能轻易看到拼写错误。每个“修复”都会使所有错误检查进行,它是干库的错误吗?
我的 IDE 是VScode
,如果有帮助,我正在Python 3.6.9 64bit
使用 Ubuntu。
import requests
import time
from stem import Signal
from stem.control import Controller
def get_current_ip():
session = requests.session()
# TO Request URL with SOCKS over TOR
session.proxies = {}
session.proxies['http']='socks5h://localhost:9050'
session.proxies['https']='socks5h://localhost:9050'
try:
r = session.get('http://httpbin.org/ip')
except Exception as e:
print(e)
else:
return r.text
def renew_tor_ip():
with Controller.from_port(port = 9051) as controller:
controller.authenticate()
controller.signal(Signal.NEWNYM)
if __name__ == "__main__":
for i in range(4):
print(get_current_ip())
renew_tor_ip()
time.sleep(5)