2017-10-02 4 views
0
import dns.resolver 

with open('fname.txt') as f: 
    read_data = f.read().strip("\n") 

for aline in read_data: 
    nameservers = dns.resolver.query(read_data, 'NS') 
    for data in nameservers: 
     print (data) 

f.close() 

私はfname.txtにドメインのリストを持っており、その上のすべてのドメインでNSルックアップを行いたいと思います。誰でも私のファイル上のドメインを読み込んで、同じns検索結果を持つ各ドメインの結果を出力するのを助けてくれますか?ファイル内のドメインのリストでpython DNSルックアップを行う方法

答えて

0

あなたはほとんどそこにいます。

一度にすべてを読み取る代わりに、開いたファイルオブジェクトを1行ずつ繰り返して読むだけで済みます(\nを忘れないように注意してください)。また、コンテキストマネージャ(with)を使用しているときにファイルを閉じる必要はありません。

import dns.resolver 

with open('fname.txt') as fin: 
    for line in fin: 
     domain = line.strip() 
     nameservers = dns.resolver.query(domain, 'NS') 
     for data in nameservers: 
      print(data) 
+0

私はスクリプトがNSレコードをもはや持たないドメインに遭遇するとエラーが発生した場合、どのようにスキップしますか? –

+0

'try' /' dns.resolver.NXDOMAIN'以外のブロックでクエリをラップします。 – randomir

+0

私はどのように使用するか分からない、私はまだPythonを学んでいる、それをGoogleで見ていきます。 –

関連する問題