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

问题描述

我使用resolver()替代socket(),因为我发现当对不同IP进行多个连接时,它最终会停止工作。 无论如何,它向我返回警告,我应该使用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")

解决方法

面对同样的问题

您应该从.resolve中删除my_resolver = dns.resolver.Resolver.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")