7
我有一個小腳本,檢查他們的MX記錄的大型域名列表,一切正常,但當腳本找到一個沒有記錄的域時,需要相當長的時間才能跳到下一個。Dnspython:設置查詢超時/生命週期
我曾嘗試加入:
query.lifetime = 1.0
or
query.timeout = 1.0
,但是這似乎並沒有做任何事情。有誰知道這個設置是如何配置的?
我的腳本在下面,謝謝你的時間。
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")
非常感謝你!我用超時的方式嘗試了你的答案,但仍然有同樣的問題,但是使用resolver.lifetime = 1.0工作。 –
是的,我真的不知道有什麼區別(從來沒有使用過這個庫),但我很高興你找到了正確的屬性。 – kindall
請注意,「超時」只是方程的一半。正如在OP最初的例子中,也應該使用'lifetime'。請參閱http://comments.gmane.org/gmane.comp.python.dnspython.user/144 –