我在node.js 0.12.2上。
当我打电话
dns.resolve('example.com', 'SOA', function (err, result) {})
我收到错误:
Unknown type SOA.
当我致电dns.resolveSoa()
时也是如此。
除此之外,每个其他记录类型都有效。
只是我还是不行?
答案 0 :(得分:0)
不仅仅是你。即使the docs clearly state that SOA records are supported,我也遇到了同样的错误。谢天谢地,我找到了另一种选择:native-dns。这是一个让你走上正轨的例子。第一:
$ npm install native-dns
然后,在节点中:
var dns = require('native-dns');
var question = dns.Question({
name: 'www.google.com',
type: 'SOA',
});
var req = dns.Request({
question: question,
server: { address: '8.8.8.8', port: 53, type: 'udp' },
timeout: 1000,
});
req.on('timeout', function () {
console.log('Timeout in making request');
});
req.on('message', function (err, answer) {
if (err) { throw err; }
console.log(answer);
});
req.on('end', function () {
console.log('Finished processing request');
});
req.send();
答案 1 :(得分:0)
对于SOA记录,现在可以使用:
var util = require('util'),
dns = require('dns'),
resolve = util.promisify(dns.resolve),
var soaResults = await resolve(domainName, 'SOA')
{ nsname: 'ns10.dnsmadeeasy.com',
hostmaster: 'dns.dnsmadeeasy.com',
serial: 2009016889,
refresh: 43200,
retry: 3600,
expire: 1209600,
minttl: 1200 }
但是,如果您需要查找list of supported types中不存在的另一种记录类型-例如,我需要查找CAA recoerd-其他答案中提到的native-dns
模块将有帮助