Android 模拟器浏览器和应用程序不一致的主机名解析
Android emulator browser and application inconsistent hostname resolution
我的主机 (192.168.2.11) 上有一个 Android 模拟器 运行,我的 DNS 服务器 (192.168.2.12) 上有一个 DNS 服务器(绑定)运行。 DNS 服务器有一个用于我的内部托管应用程序的条目,Android 模拟器使用以下命令调用,
emulator @myemulator -scale 0.50 -dns-server 192.168.2.12
如果我从 Android 浏览器导航到 myinternal.domain.com,它能够解析域和应用程序加载。但是,当通过应用程序发出 HTTP 请求时,主机名解析失败。
我什至尝试修改模拟器的 /etc/hosts 文件,但没有成功,
192.168.2.13 myinternal.domain.com
#10.0.2.2 myinternal.domain.com
我的要求是使用主机名而不是 IP 地址(默认网站),因此我无法修改代码以向 IP 地址发送 HTTP 请求。
Android 浏览器和应用程序是否可能以不同的方式解析主机名?如果有人能帮我解决这个问题,我将不胜感激。
我找到了问题的答案。这种不一致的行为是由于 Java 的安装版本(在我的例子中是 Oracle Java)。用 Open-JDK 版本 1.7.80 替换它解决了这个问题。
考虑 post 以防其他人遇到此问题并且不想在这上面浪费 n 小时 :)
我的主机 (192.168.2.11) 上有一个 Android 模拟器 运行,我的 DNS 服务器 (192.168.2.12) 上有一个 DNS 服务器(绑定)运行。 DNS 服务器有一个用于我的内部托管应用程序的条目,Android 模拟器使用以下命令调用,
emulator @myemulator -scale 0.50 -dns-server 192.168.2.12
如果我从 Android 浏览器导航到 myinternal.domain.com,它能够解析域和应用程序加载。但是,当通过应用程序发出 HTTP 请求时,主机名解析失败。
我什至尝试修改模拟器的 /etc/hosts 文件,但没有成功,
192.168.2.13 myinternal.domain.com
#10.0.2.2 myinternal.domain.com
我的要求是使用主机名而不是 IP 地址(默认网站),因此我无法修改代码以向 IP 地址发送 HTTP 请求。
Android 浏览器和应用程序是否可能以不同的方式解析主机名?如果有人能帮我解决这个问题,我将不胜感激。
我找到了问题的答案。这种不一致的行为是由于 Java 的安装版本(在我的例子中是 Oracle Java)。用 Open-JDK 版本 1.7.80 替换它解决了这个问题。
考虑 post 以防其他人遇到此问题并且不想在这上面浪费 n 小时 :)