【发布时间】:2020-02-07 11:42:40
【问题描述】:
我在 DirectAdmin 的插件中使用 DNS Python。
在处理绑定文件并在 DNS Python 的 from_file() 函数中使用 relativize=False 时,记录的每个名称都会完整显示,(例如,'smtp.example.com.')
我更喜欢在该子域的情况下仅显示“smtp”的概述。这可以通过在from_file() 函数中使用relativize=True 来实现。但是,在这种情况下,所有完整的 dns 名称('example.com')都将替换为 @(at 符号)
我可以配置 DNS python 以相对化子域,但显示完整的 dns 名称而不只显示@?
【问题讨论】:
-
解析结果并删除@怎么样?返回的记录是什么类型的?
-
一个肮脏的解决方法是用
re.sub(r'^@', domain_name, line)替换区域文件中的行。我更喜欢在我的应用程序中使用受支持/官方的 dnspython 方式来执行此操作。此问题影响区域的所有记录,与记录类型无关,如果域与 dns 名称完全匹配,则 dnspython 的符号将更改为 '@' 而不是域名。
标签: dnspython