【问题标题】:Get all record types with Net_DNS2使用 Net_DNS2 获取所有记录类型
【发布时间】:2018-07-17 21:43:36
【问题描述】:

我想检索 google.com 等域的所有记录类型。我在下面的代码中使用了 PHP 的 dns_get_record 函数。

$result = dns_get_record("google.com",DNS_ANY);

这很好用。它返回所有类型为 A、AAAA、MX 和 TXT 的记录。但是dns_get_record 函数不支持自定义名称服务器。我发现 PEAR 包 Net_DNS2 确实支持自定义名称服务器,所以我安装了它并尝试查找所有记录类型。但是Net_DNS2_Resolver 类似乎不支持DNS_ANY 类型。这意味着我需要按顺序查询所有类型,并且需要更多时间并且更难以编码。

Net_DNS2_Resolver 类是否支持通配符类型?如果不是,query 命令是否支持类型数组?文档说没有,但可能已经过时了。

PHP 函数dns_get_record 是如何工作的?它是在后台对所有类型进行多次请求,还是真的有办法一次请求所有类型?如果它是第一个,那么我只需要创建自己的代码来请求所有记录类型。

【问题讨论】:

  • 不要使用ANY(伪)记录类型。它不会做你认为它做的事情,而且它正在被淘汰,确切的原因是它没有被适当地使用。实际上,您应该自己对所需的特定记录类型进行循环。这将始终正常工作,唯一的问题是如果您查询权威名称服务器或一些递归......
  • 您是否有任何来源证明ANY 记录类型将被废弃?现在我的问题已经被 mdeora 回答了,但是如果这个查询方法是未来的证明,我现在非常希望。
  • 请参阅 CloudFlare 的这篇博客文章:blog.cloudflare.com/what-happened-next-the-deprecation-of-any 他们写了一份互联网草案,还有一个建议让解析器只回复 CNAMEMXA 和 @ 987654335@ 记录到ANY 查询,这基本上意味着 ANY ≠ ALL 了(因为查询 ANY 基本上可以为您提供标签解析器缓存的内容,但缓存可能根本不完整! 这一点经常被遗忘)

标签: php dns pear


【解决方案1】:

最新版本的 net dns pear 包支持 DNS_ANY。 检查下面的链接 - http://pear.php.net/package/Net_DNS2/docs/latest/Net_DNS2/Net_DNS2_RR_ANY.html#methodrrGet

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-15
    • 2015-04-08
    • 2012-05-16
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多