如何在JavaScript中检测DNS查找错误

如何在JavaScript中检测DNS查找错误,javascript,html,dns,Javascript,Html,Dns,我想知道是否有一种方法可以检测JavaScript中的DNS查找错误 是否有一些代码或一些技巧工作 或者这是一个不可能完成的任务 有人能解释一下吗?非常感谢 无法准确预测在随机最终用户的机器上发生“DNS查找失败”时会发生什么行为 例如,当在不存在的域(NXDOMAIN)上执行查找时,许多ISP会返回自己的“帮助者”搜索页面/站点。这也被称为 用户还可以在本地“主机文件”上配置自己的域条目,这将给出“误报” 为了获得更可靠的方法,您应该在服务器上执行此查找,这样可以更好地指示该域是否可以访问更广

我想知道是否有一种方法可以检测JavaScript中的DNS查找错误

是否有一些代码或一些技巧工作

或者这是一个不可能完成的任务


有人能解释一下吗?非常感谢

无法准确预测在随机最终用户的机器上发生“DNS查找失败”时会发生什么行为

例如,当在不存在的域(NXDOMAIN)上执行查找时,许多ISP会返回自己的“帮助者”搜索页面/站点。这也被称为

用户还可以在本地“主机文件”上配置自己的域条目,这将给出“误报”


为了获得更可靠的方法,您应该在服务器上执行此查找,这样可以更好地指示该域是否可以访问更广泛的世界。它还可以让您区分站点是否只是关闭或无法从用户的机器访问,而不是无效条目

如果您的意思是错误名称未被解析,那就是没有连接或无法联系dns服务器的结果。如果您使用的是XHR,那么只需将一个函数分配给XHR.onerror:
XHR.onerror=()=>{alert('Failed DNS resolution');}注意,错误仍将出现在控制台中,这是故意的,也是故意的。如果xhr.onload不是未定义的,那么它也应该尝试运行,因此这是需要记住的其他内容

如果您的意思是查找一个页面,但它不存在,那么只需返回404即可。对于xhr,您只需读取
if(xhr.status==404){…}


如果你的意思是找到一个页面,但得到了错误的IP地址,试图从dns劫持网络钓鱼网站,有几种方法。第一种是对IP地址进行硬编码,第二种是证书,第三种是任何类型的隐藏代码,这两台计算机都应该知道如何相互验证。可能还有其他方法,这是我不知道的。

在javascript中,可能有nodeJS。