只是一个警告,我的 Python 技能几乎不存在,但我正在努力学习。
我在周末通过我们的 DNS 控制面板对大约 58 个 CNAMES 进行了一些更改(只是更改了目标)
与其检查每个单独记录的更改是否已经生效,我想知道是否有一种方法可以为 python 中的每个 CNAME 编写一个挖掘列表?
我使用的 dig 命令是这样的
dig @ns1.netnames.net www.rac.co.uk CNAME
我希望看到 rac-secure.gslb2.rac.co.uk
返回。
我尝试了类似的方法:
import os
os.system( 'dig<exampledomain.com>'CNAME )
但这似乎不起作用(正如我提到的我缺乏 python 技能),我是在正确的道路上,还是应该使用类似 dnspython 的东西?我之前在堆栈溢出社区的(很多)帮助下使用过 dnspython 模块,但我发现文档真的很困惑。
任何正确方向的指针将不胜感激。
问候
克里斯。
最佳答案
很可能从 python 调用 dig,它可能会节省你的工作,只使用 python 库。看看dnspython这可能会让一切变得更容易——而且您不必解析输出格式。
import socket
import dns.resolver
# Basic query
for rdata in dns.resolver.query('www.yahoo.com', 'CNAME') :
print rdata.target
# Set the DNS Server
resolver = dns.resolver.Resolver()
resolver.nameservers=[socket.gethostbyname('ns1.cisco.com')]
for rdata in resolver.query('www.yahoo.com', 'CNAME') :
print rdata.target
关于python - 在 python 中使用 dig 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5235569/