繁体   English   中英

DNS 记录查找与 Python / Django [dnspython]

[英]DNS record look up with Python / Django [dnspython]

我正在尝试获取特定域的 DNS 记录。 所以,我发现dnspython package 可以轻松完成。 当我从我的计算机上运行它时它工作正常。 但是,当我从 Django 视图中调用它时,它会显示以前的记录(旧记录) ,这意味着它没有更新。

它是操作系统级别的某种缓存吗? 请注意,我也在使用Docker 重新启动 docker 并清除 Django 中的缓存没有帮助,仍然显示旧记录。

这是检查记录的示例代码:

import dns.resolver
result = dns.resolver.resolve("domain.com", "TXT")[0].to_text()

当我从我的计算机运行它时,上面的代码片段可以工作并显示 TXT 记录中的任何更新。 但是,在 Django 中,它卡在旧记录中并且没有更新。

在 Django 视图中:

def verify_dns_view(request, domain_id):
    domain = get_object_or_404(models.Domain, id=domain_id)
    mx_record = dns.resolver.resolve(domain.name, "MX")[0].to_text()
    txt_record_spf = dns.resolver.resolve(domain.name, "TXT")[0].to_text()
    ...
  

您的应用程序和 PC 连接的服务器可能总是不同的 DNS 服务器。 在您的情况下,应用程序服务器距离注册实际域的服务器“更远”,因此它尚未更新记录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM