Node.js 节点:dns.resolve在调用dns.SetServer后无法获得正确的ip
我正在编写一个程序来解析特定dns服务器的ip地址,但似乎Node.js 节点:dns.resolve在调用dns.SetServer后无法获得正确的ip,node.js,dns,Node.js,Dns,我正在编写一个程序来解析特定dns服务器的ip地址,但似乎.setServers方法不起作用 const dns=require('dns'); dns.setserver(['208.67.222.222','208.67.220.220']); console.log(dns.getServers()); 解析('littlee.github.io',(err,res)=>{ console.log(err,res); }); 终端日志: [ '208.67.222.222', '208.
.setServers
方法不起作用
const dns=require('dns');
dns.setserver(['208.67.222.222','208.67.220.220']);
console.log(dns.getServers());
解析('littlee.github.io',(err,res)=>{
console.log(err,res);
});
终端日志:
[ '208.67.222.222', '208.67.220.220' ]
null [ '127.0.0.1' ]
预期结果应该是:
185.199.108.153
127.0.0.1的使用向我表明,该地址可能不是由DNS服务器提供的,而是由系统的主机文件提供的。然而,这与您能够使用命令行ping地址这一明显事实并不一致。除非我遗漏了什么。是在不同的系统上,还是在执行命令行ping之后更改了hosts文件?我倾向于主机文件条目是罪魁祸首。@JonathanGray你是对的,我注意到我更改了主机文件。如果我无法通过设置系统dns获得正确的ip地址,是否有用于dns解析的公共restful api?只要主机文件中不存在您尝试解析的主机名,它就应该使用您指定的服务器。如果你想在你的主机文件中保留这些条目而不干扰你的应用程序,你可以在docker容器中运行它,给你的应用程序一个专用的主机文件。