首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node.js dns.resolveAny返回空数组

node.js dns.resolveAny返回空数组
EN

Stack Overflow用户
提问于 2017-11-26 10:31:20
回答 0查看 404关注 0票数 0

我正在使用dns.resolveAny函数来检查一些域的域名信息。

我发现奇怪的一件事是,对于某些域,nslookup命令不返回空数组,而dns.resolveAny返回空数组。

下面是一个例子:

代码语言:javascript
复制
// node.js version >= 9.2 is required

const dns = require('dns')

dns.resolveAny('www.ifshop.com.tw', (err, ret) => {
  if (err) {
      console.log(`err: ${err}`)
  } else {
      console.log(`ret: ${JSON.stringify(ret)}`)  // JSON.stringify(ret) == [] here
  }
})

resolveAny返回[]。但是nslookup成功地返回了www.ifshop.com.tw的CNAME记录。

代码语言:javascript
复制
> nslookup www.ifshop.com.tw
Server:     192.168.1.1
Address:    192.168.1.1#53

Non-authoritative answer:
www.ifshop.com.tw   canonical name = s1759.dname.91app.io.
s1759.dname.91app.io    canonical name = proxy.letssl.91app.io.
proxy.letssl.91app.io   canonical name = proxy-letssl-91app-io-196811564.ap-northeast-1.elb.amazonaws.com.
Name:   proxy-letssl-91app-io-196811564.ap-northeast-1.elb.amazonaws.com
Address: 54.178.248.57
Name:   proxy-letssl-91app-io-196811564.ap-northeast-1.elb.amazonaws.com
Address: 52.196.80.17

这一切为什么要发生?

这是resolveAny的错误吗?

或者是www.ifshop.com.tw的DNS配置有问题?

我还发现dns.resolveCname成功地返回了CNAME。

代码语言:javascript
复制
// node.js version >= 9.2 is required

const dns = require('dns')

dns.resolveCname('www.ifshop.com.tw', (err, ret) => {
  if (err) {
      console.log(`err: ${err}`)
  } else {
      console.log(`ret: ${JSON.stringify(ret)}`)
  }
})

这里,JSON.stringify(ret)等于["s1759.dname.91app.io"]

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47492479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档