弃用警告:请使用dns.resolver.Resolver.resolve()。

6

我正在使用 resolver() 作为 socket() 的替代方法,因为当多个连接被建立到不同的 IP 地址时,socket() 会停止工作。但是,它向我返回了一个警告,建议我使用 dns.resolver.Resolver.resolve()。当我进行更改时,它给我返回了一个错误:

TypeError: resolve() missing 2 required positional arguments: 'self' and 'qname'

这里是代码:
        # my_resolver = dns.resolver.Resolver()
        my_resolver = dns.resolver.Resolver.resolve()
        answers = my_resolver.query(host, "A")
        answer_txt = my_resolver.query(host, "TXT")
1个回答

6

遇到了相同的问题。

您应该从 my_resolver = dns.resolver.Resolver.resolve() 中移除 .resolve,并将 my_resolver.query() 替换为 my_resolver.resolve()

示例:

    my_resolver = dns.resolver.Resolver()
    answers = my_resolver.resolve(host, "A")
    answer_txt = my_resolver.resolve(host, "TXT")

我希望 #pymongo 很快能够修复它 .../pymongo/srv_resolver.py:57: DeprecationWarning: 请使用 dns.resolver.resolve() 替代 results = resolver.query(self.__fqdn, 'TXT', - Meir Gabay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接