Возможно ли установить IP-адрес сервера для использования в запросах?
Ответ 1
Хотя это несколько старый поток, я вскочу. Я столкнулся с одним и тем же вызовом, и я решил поделиться этим решением. Таким образом, в основном файл конфигурации будет заполнять переменную экземпляра "nameservers" используемого вами dns.resolver.Resolver. Следовательно, если вы хотите принудить свой Resolver использовать определенный сервер имен, вы можете сделать это прямо следующим образом:
import dns.resolver
my_resolver = dns.resolver.Resolver()
# 8.8.8.8 is Google public DNS server
my_resolver.nameservers = ['8.8.8.8']
answer = my_resolver.query('google.com')
Надеюсь, что кто-то сочтет это полезным.
Ответ 2
Вы не указываете в своем вопросе, но при условии, что вы используете распознаватель с dnspython.org, в документации указано, что вы хотите установите атрибут nameservers объекта Resolver.
Хотя может быть проще предоставить файл /etc/resolv.conf-style для перехода к аргументу конструктор filename.
Ответ 3
Да, это так.
Если вы используете удобную функцию dns.resolver.query(), как это,
import dns.resolver
r = dns.resolver.query('example.org', 'a')
вы можете повторно инициализировать распознаватель по умолчанию, например, такой конкретный сервер имен (или список), например: