Предупреждение об устаревании: пожалуйста, используйте dns.resolver.Resolver.resolve()

#python

#python

Вопрос:

Я использую 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")
  

Ответ №1:

столкнулся с той же проблемой

Вы должны удалить .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")
  

Комментарии:

1. Я надеюсь, что #pymongo скоро это исправит .../pymongo/srv_resolver.py:57: DeprecationWarning: please use dns.resolver.resolve() instead results = resolver.query(self.__fqdn, 'TXT',