当前位置: 首页 > 知识库问答 >
问题:

InetAddress.getByName 返回“akamaitechnologies.com 为不存在的主机

郏稳
2023-03-14

我发现,解析不存在的主机名总是返回属于“akamaitechnologies.com”的地址(例如23.221.222.250)。它确实适用于确实存在的主机。

法典:

InetAddress addr = InetAddress.getByName( "NON-EXISTING.com" );

InetAddress或Google搜索的文档几乎没有帮助。有人声称应该发生一个未知的hostException,但我却没有。

为什么会发生这种情况?

共有1个答案

陆翰学
2023-03-14

这不是Android/Java缺陷。原来是DNS问题。即我的AT

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

 类似资料:
  • 我有一个我觉得很神秘的问题。我在Google和StackOverflow上搜索过,没有发现任何人有类似的问题。我尝试将持久化提供程序切换到Hibernate,但我们的代码过于依赖EclipseLink特性,因此无法将其作为调试的实际选项。如果这个问题仍然存在(哈,哈;Java EE双关语),我很可能会为Hibernate重写所有持久性代码,如果可能的话。 我的一个实体被正确持久化到数据库,并且它的

  • 问题内容: 我有一个build.gradle任务,它像我的dev框上的冠军一样工作,生成了一个属性文件,该文件记录了生成生成的机器的名称。逻辑很简单… 在我的开发箱中,这总是产生与bash shell中的主机名相同的值。 但是,在我们的jenkins CI服务器上,bash主机名返回一件事,但是我对InetAddress.getLocalHost()。getHostName()的调用;返回其他内容

  • 我使用导航组件并在一个RecolyerView(MVVM架构,所以这个片段有一个viewmodel)中加载数据,如果我移动到另一个片段,然后导航回到有viewmodel的片段,那么viewmodel的livedata是空的,但我不知道为什么。如果我正确地知道,我就不需要手动调用来持久化数据,因为无论如何都会这样做。我将对象存储在livedata中,并且该类是extends Parcelable。

  • 我寻找如何在堆栈溢出的Java中进行IP查找,但答案与我已经在做的匹配,并没有解决我的问题。 问题:此代码与预期的一些IP广告,而不是与其他一些。 例如,对于IP 157.55.39.29,输出为: 根据Linux命令,此结果似乎是正确的: 返回: 此IP地址的完全限定域名,如果安全检查不允许此操作,则返回IP地址的文本表示形式。 但我很确定这不是安全检查的问题...或者我不明白出了什么问题。 你

  • 当我执行这个查询时,我会得到以下异常

  • 与 和别名,如 Im可以用inetaddress.getbyname(“bar.com”)解析bar.com。但如果行变得更大,比如30个主机,并且长度超过767个字符,则会抛出一个UnknownHostException。 该如何让Java处理好这条线? 例如,“ping bar.com”可以正确地进行查找。