当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js dns.resolveAny(hostname, callback)用法及代码示例


dns.resolveAny(hostname, callback)

历史
版本变化
v18.0.0

将无效回调传递给 callback 参数现在会抛出 ERR_INVALID_ARG_TYPE 而不是 ERR_INVALID_CALLBACK


参数

使用 DNS 协议解析所有记录(也称为 ANY* 查询)。传递给callback 函数的ret 参数将是一个包含各种类型记录的数组。每个对象都有一个属性type,指示当前记录的类型。并且根据 type ,对象上将存在其他属性:

类型特性
'A'address /ttl
'AAAA'address /ttl
'CNAME'value
'MX'参考 dns.resolveMx()
'NAPTR'参考 dns.resolveNaptr()
'NS'value
'PTR'value
'SOA'参考 dns.resolveSoa()
'SRV'参考 dns.resolveSrv()
'TXT'这种类型的记录包含一个名为 entries 的数组属性,它引用 dns.resolveTxt() ,例如{ entries: ['...'], type: 'TXT' }

以下是传递给回调的 ret 对象的示例:

[ { type: 'A', address: '127.0.0.1', ttl: 299 },
  { type: 'CNAME', value: 'example.com' },
  { type: 'MX', exchange: 'alt4.aspmx.l.example.com', priority: 50 },
  { type: 'NS', value: 'ns1.example.com' },
  { type: 'TXT', entries: [ 'v=spf1 include:_spf.example.com ~all' ] },
  { type: 'SOA',
    nsname: 'ns1.example.com',
    hostmaster: 'admin.example.com',
    serial: 156696742,
    refresh: 900,
    retry: 900,
    expire: 1800,
    minttl: 60 } ]

DNS 服务器操作符可能会选择不响应 ANY 查询。调用单独的方法可能会更好,例如 dns.resolve4() dns.resolveMx() 等。有关详细信息,请参阅 RFC 8482

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 dns.resolveAny(hostname, callback)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。