0

我正在编写一个代码来将域名和 ip 地址从文件传递到 dns 解析器查询。但这似乎不起作用

import dns.resolver
import os
import sys

d = open(str(sys.argv[1]),'r') #contains the domain name list
ip = open(str(sys.argv[2]),'r') # contain the list of ip address as dns resolver 

domain_list = d.readlines()
ip_list = ip.readlines()
my_resolver = dns.resolver.Resolver()
output_f = open("output.txt",'a')
for nameserv in ip_list:
        my_resolver.nameservers = [nameserv]
        for domain in domain_list:
                try:
                        answer = my_resolver.query(domain)
                        entry = "server : " + "   " + nameserv + " " + "query_result " + str(answer) + '\n'
                        output_f.write(entry)
                except :
                        print domain,nameserv
                        print "no domain"


d.close()
ip.close()
output_f.close()

我的 IP 地址列表包含 8.8.8.8 和 127.0.1.1,它们都是有效的 dns 解析器。域列表包含 www.facebook.com、www.urltrends.com 等我仍然收到不存在域的错误。

4

1 回答 1

1

readlines()还读取 trailing \n,然后将其传递给解析器。试试这个:

my_list = open(filename, 'r').read().splitlines()
于 2015-09-25T17:11:08.593 回答