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

如何在Android设备上手动触发“无法解析主机”异常

毛弘博
2023-03-14

我通过日志在我的生产应用程序中看到这些类型的错误激增:

"无法解析主机"{my.api.website}":没有与主机名关联的地址"

该网站/应用编程接口适用于99.9%的人,我只是间歇性地看到这一点。

从以下链接来看,这似乎是一个互联网连接问题:

  • 无法解析主机"

因此,我已经设置了一些重试逻辑,以便它将进行另一次尝试,但问题是,我不确定如何使用Android设备(模拟器或实时)实际故意触发此异常,以查看新的修复是否有效。

如何手动触发java。lang.exception我正在访问的站点抛出了无法解决主机问题的


共有1个答案

令狐翰
2023-03-14

如果主机名拼写错误,可能会触发未知后异常。错误的原因不会相同,但至少会得到相同的异常类。

在“野外”发生这种异常的原因有很多,包括:

  • 设备在主机名解析期间或之前不久失去与网络的连接
  • 设备连接到拦截DNS请求或未连接到Internet的捕获门户
  • DNS请求失败或因任何其他随机原因超时

DNS请求超时是一个特别棘手的问题。它们很难重现。默认超时时间太长,超过了用户愿意等待的时间,而且没有办法改变它。开发人员不得不求助于这样的黑客:我可以在Android系统中为DefaultHttpClient设置getaddrinfo超时吗?

 类似资料:
  • 我正在尝试为Android制作一个可以检测附近智能手机设备的应用程序。我需要发现智能手机设备,无论它们连接到WLAN或其操作系统。唯一的要求是启用了它们的蓝牙或wifi设置。我正在尝试捕获这些设备的MAC地址,也许还有RSSI。我试图模拟的一个应用程序示例是Meshlium。 Android经典蓝牙: 我已按照指南发现当前未与我的设备配对的设备。 我试图发现的智能手机需要处于“发现”模式才能被发现

  • 问题内容: 好的,我想做的是当用户单击列表项时将div向下滑动。 Selectric),它将选择框转换为无序列表。因此,当用户单击源输出为列表项的a时,我希望div向下滑动。 在移动浏览器(iOS7)上,选择框UI与标准选择框UI相同。 关于移动设备onClick的最佳做法是什么? 基本的jQuery: 谢谢。 问题答案: 最好将事件与jQuery方法结合使用: 而且我不明白为什么要使用方法,因为

  • 我在看一本关于假人的Hadoop书。Book在HBase中修改hbase-site.xml文件的指令如下: 当我启动hbase时,我会得到以下错误: 谁能给出解决这个问题的办法吗?谢谢!!!

  • 问题内容: 我在Ubuntu操作系统上使用了2个容器:Gitlab-ce和gitlab-runner 容器名称是:和 我通过访问我的gitlab应用 我使用以下命令成功注册了跑步者: 然后,当我开始工作时,出现以下错误消息: 在这两个容器中,我都可以访问主机名。我认为问题来自无法解决主机的高山图像。 我该如何解决? 谢谢 编辑1 docker-compose.yml 编辑2 docker-comp

  • 我的android应用程序中的Amazon analytics正在尝试连接到此主机“mobileanalytics.eu-west-1.amazonaws.com”,但无法解决此问题,导致以下错误: I/AmazonHttpClient:无法执行HTTP请求:无法解析主机“mobileanalytics.eu-west-1.amazonaws.com”:没有与主机名10-12 14:05:34.8

  • 我无法在使用appium的android设备上向下滚动移动页面。我试过驾驶。滚动到(元素),它不会向下滚动到指定的元素。我尝试过使用Actions类,但我遇到了一个错误,因为“方法尚未实现”。我尝试过使用Javascript的另一种方法,但也不起作用。有人提出建议。 以下是代码: