Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点:dns.resolve在调用dns.SetServer后无法获得正确的ip_Node.js_Dns - Fatal编程技术网

Node.js 节点:dns.resolve在调用dns.SetServer后无法获得正确的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.

我正在编写一个程序来解析特定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.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容器中运行它,给你的应用程序一个专用的主机文件。