如何从 dns python 中的文件将输入从文件传递到 dns.resolver.Resolver.query()?
How to pass inputs from file to dns.resolver.Resolver.query() from file in dns python?
我正在编写代码以将域名和 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 等
我仍然收到不存在域的错误消息。
readlines()
还读取尾随的 \n
,然后将其传递给解析器。试试这个:
my_list = open(filename, 'r').read().splitlines()
我正在编写代码以将域名和 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 等 我仍然收到不存在域的错误消息。
readlines()
还读取尾随的 \n
,然后将其传递给解析器。试试这个:
my_list = open(filename, 'r').read().splitlines()