Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.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
Java InetAddress.getByName返回;不存在主机的akamaitechnologies.com_Java_Android_Inetaddress - Fatal编程技术网

Java InetAddress.getByName返回;不存在主机的akamaitechnologies.com

Java InetAddress.getByName返回;不存在主机的akamaitechnologies.com,java,android,inetaddress,Java,Android,Inetaddress,我发现解析不存在的主机名总是返回属于“akamaitechnologies.com”的地址(例如23.221.222.250)。它确实可以在确实存在的主机上正常工作 代码: InetAddress addr = InetAddress.getByName( "NON-EXISTING.com" ); InetAddress或Google搜索的文档几乎没有帮助。有人声称一个未知的后异常应该发生,但我却没有发生 为什么会发生这种情况?这不是Android/Java的缺陷。原来是

我发现解析不存在的主机名总是返回属于“akamaitechnologies.com”的地址(例如23.221.222.250)。它确实可以在确实存在的主机上正常工作

代码:

InetAddress addr = InetAddress.getByName( "NON-EXISTING.com" );
InetAddress或Google搜索的文档几乎没有帮助。有人声称一个未知的后异常应该发生,但我却没有发生


为什么会发生这种情况?

这不是Android/Java的缺陷。原来是DNS问题。也就是说,我的AT&T电话使用AT&T的默认DNS服务器(sbcglobal.net)。即使对于不存在的域,此P.O.S.服务器也会返回有效的IP地址。在我改为“dns.google”(8.8.8.8)之后,一切都按预期进行


这种DNS欺骗是一件坏事,因为许多应用依赖于未知主机异常来检测错误输入的域,例如在电子邮件地址中。

可能是DNS服务器返回的。正在使用哪个DNS服务器?如果将DNS服务器更改为Cloudflare,结果是否相同@麦克斯:谢谢你的小费。Network Info II报告的DNS为192.192.1.254(我的AT&T网关。我的网关报告的DNS为68.94.156.11(dns156r11.sbcglobal.net)。我还不知道如何更改它。不知道这是从哪里来的,可能是AT&t的默认设置。你会推荐什么DNS?Cloudflare-1.1.1.1不幸的是,这是ISP获取额外流量/广告的一种常见技术。它还破坏了很多东西(数量惊人的技术取决于丢失的主机实际上没有解析)。这是有效的。@Joachim:我同意。我有点惊讶AT&T会参与这个DNS劫持计划。真的吗?他们并不完全了解消费者友好的行为,是吗?;-)