【问题标题】:Android Galaxy Nexus - Localhost HTTP request not working when 3G connection is onAndroid Galaxy Nexus - 本地主机 HTTP 请求在 3G 连接开启时不起作用
【发布时间】:2012-05-10 15:36:34
【问题描述】:

我在三星 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 地址也能完美运行。

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

提前致谢,

【问题讨论】:

  • 我认为 3g/4g 连接不会允许手机充当 HTTP 服务器。运营商可能会阻止这种情况发生。不过只是猜测。
  • 我认为类似但相同的代码在索尼爱立信 Xperia 中使用相同的运算符。
  • 即使运营商会阻止它,对 localhost 的 http 请求也不应该传到网络上还是我错了?
  • 您的 Arc S 是升级到 ICS 还是仍在 2.3.x 上?
  • 已经升级到ICS

标签: android http 3g samsung-mobile


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多