1

我在三星 Galaxy Nexus(Android 版本 4.0.2)上向 localhost 发出 HTTP 请求时遇到问题。

我正在 Android 手机上运行一个本地 http 服务器来进行一些研究项目。这个想法是一个 Android 应用程序使用 HTTP 方法(GET、PUT 等)与这个本地服务器通信。

问题如下:

  • 当我在打开 Wi-Fi 的情况下向 localhost 或 127.0.0.1 发出 HTTP 请求时,一切正常并且我能够访问服务器。

    • 但是,当我尝试在关闭 Wi-Fi 并使用 3G 连接的情况下执行相同操作时,我在响应状态行中得到一个:HTTP/1.1 502 Bad Gateway

    • 最后,如果我尝试通过 3G 连接向其他 IP (www.google.com) 发出 HTTP 请求,则 HTTP 响应代码为 200 OK。

另一个奇怪的事实是,在索尼爱立信 Xperia arcS 上运行相同的代码不会产生问题,并且一切正常。

我的猜测是,当我尝试使用 3G 连接对本地主机进行 HTTP 调用时,三星 Galaxy Nexus 存在问题。但是,我不明白为什么使用其他 IP 地址它可以完美运行。

有什么建议或有类似问题的人吗?

提前致谢,

4

1 回答 1

0

因为 localhost 只能使用本地网络访问,并且您必须将内容放在在线主机上并使用地址或 IP 地址访问它,例如本地网络上的 localhost IP 地址是 192.168.1.2 并且您正在尝试访问它使用 3g 来自 android 的地址,3g 连接无法访问本地网络资源和地址,所以它会抛出,UnknownHostException或者类似的东西希望这会有所帮助

于 2012-06-12T15:24:11.610 回答