0

我一直在使用 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)
4

1 回答 1

0

这是 VSCode 中的一个问题,它的错误检查存在问题,并且认为实例没有成员,当它们停止这种情况的唯一方法是在 VSCode 设置中并添加代码来更改它,这样对 Pylint 的错误检查就会消失

于 2020-07-31T21:25:37.653 回答