Ho un piccolo script che controlla un ampio elenco di domini per i loro record MX, tutto funziona bene ma quando lo script trova un dominio senza record, ci vuole un po 'di tempo per saltare a il prossimo.Dnspython: impostazione del timeout della query/lifetime
Ho provato ad aggiungere:
query.lifetime = 1.0
or
query.timeout = 1.0
, ma questo non sembra di fare nulla. Qualcuno sa come è configurata questa impostazione?
La mia sceneggiatura è al di sotto, grazie per il vostro tempo.
import dns.resolver
from dns.exception import DNSException
import dns.query
import csv
domains = csv.reader(open('domains.csv', 'rU'))
output = open('output.txt', 'w')
for row in domains:
try:
domain = row[0]
query = dns.resolver.query(domain,'MX')
query.lifetime = 1.0
except DNSException:
print "nothing here"
for rdata in query:
print domain, " ", rdata.exchange, 'has preference', rdata.preference
output.writelines(domain)
output.writelines(",")
output.writelines(rdata.exchange.to_text())
output.writelines("\n")
Grazie mille !, ho provato la risposta con timeout, ma ho ancora avuto lo stesso problema, ma usando resolver.lifetime = 1.0 ha funzionato. –
Sì, non sono proprio sicuro di quale sia la differenza (non ho mai usato quella libreria) ma sono contento che tu abbia trovato l'attributo giusto. – kindall
Si noti che 'timeout' è solo la metà dell'equazione. Come nell'esempio originale di OP, dovrebbe essere usato anche 'lifetime'. Vedi http://comments.gmane.org/gmane.comp.python.dnspython.user/144 –