【问题标题】:Cannot access localhost web service from Android device无法从 Android 设备访问 localhost Web 服务
【发布时间】:2013-02-24 20:20:02
【问题描述】:

出于我自己的测试目的,我使用 CakePHP 构建了一个 Web 服务。

现在我使用真正的 Android 设备连接我的网络服务 (@localhost)。在第一次尝试时,我设法加载了我的测试页面。然后,我关闭了 Apache 服务器并对其进行测试以确保它不可用。测试完成后,我再次重新启动了 Apache。但是,从那时起,我的 Android 设备无法加载我的页面(网页不可用)。我的 Web 服务文件夹上有 Digest Authentication,第一次尝试时,它被正确执行了......

到目前为止我所做的是:
1. 使用我的真实 Android 设备(不是模拟器)连接我的本地主机 (http://192.168.xxx.xxx)。
2. 弹出摘要认证。
3. 输入用户名和密码。已成功连接。
4. 关闭 Apache 服务器。
5.尝试再次连接我的本地主机(当然,“网页不可用”)。
6. 重启 Apache 服务器。
7.尝试再次连接我的本地主机(重新加载永远不会再次工作......)

一开始我以为是缓存问题什么的。所以我已经清除了我的 Android 网络浏览器的所有缓存和任何表单数据,并再次尝试重新加载。但它再也不会重新加载。然后,我尝试从另一台 PC 连接并成功连接。仅从 Android 设备无法重新加载我的页面。

有什么办法可以解决这个问题吗?我需要使用我真正的 Android 设备进行调试,因为模拟器对于这项工作来说太慢了。我四处搜索,发现了几个类似的问题,但没有一个没有帮助,因为就我而言,我曾经成功连接到该服务。只是一次未能重新加载页面,并且永远不会再次加载它......

提前致谢。

* 编辑 * 我刚刚使用 Android 模拟器尝试了相同的序列并成功重新加载...我什至为我的真实设备尝试了另一个浏览器(海豚浏览器)但仍然无法加载我的页面...

【问题讨论】:

  • 您确定您的设备仍然可以访问您的机器(重新连接时与您的机器在同一网络中)?如果是,当您重新启动 apache 时,您确定它正在侦听所有接口吗?
  • 感谢您的回复,PCCoder!不幸的是,我的设备看起来无法连接到我的机器,但它们仍在同一个网络上。似乎 Apache 没问题,因为我的另一台机器即使在重新启动后也可以连接到 Web 服务。
  • localhost127.0.0.1,而不是 192.168.xxx.xxx。您的服务器需要设置为响应非localhost 地址,192.168.xxx.xxx 才能工作。
  • 感谢您的提示。但是,192.168.xxx.xxx 是我机器的外部 IP 地址,这就是我连接到我的 Web 服务所需要的。正如我所提到的,我设法将它连接一次以进行第一次拍摄。我的网络服务仍然可以从另一台机器上使用。仅从真正的 Android 设备访问失败。

标签: android web-services apache localhost


【解决方案1】:

Web 服务器可能正在侦听环回接口而不是网络接口。这意味着点击127.0.0.1localhost 将起作用,但192.168.xxx.xxx 将不起作用(无论来自本地主机、LAN 还是 WAN)。

要确定服务器正在侦听哪个接口,请查看here 以获取有关侦听端口的命令(我使用了lsof -Pan -i tcp -i udp)。然后在列表中查找您的服务器进程。对于lsof 命令,如果对于端口 8888,您看到类似TCP *:8888 (LISTEN) 的内容,那么您的服务器正在侦听所有接口。但是,如果您看到类似 TCP [::127.0.0.1]:8888 (LISTEN) 的内容,那么您已经确定了您的问题!

解决问题的下一步是设置服务器的运行配置以侦听所有接口。我对CakePHP一无所知,但是如果您可以指定IP地址,那么您可能想尝试0.0.0.0。通常,您可以在允许您指定侦听端口的位置附近执行此操作。因此,如果您有如下配置:

--port 8888

那你可以试试:

--port 8888 --address 0.0.0.0

【讨论】:

  • 谢谢你的回复,无辜的!现在我尝试了 netstat 命令,似乎问题出在您的提示上(我的计算机是 windows 系统,它显示 TCP [::]:80)。所以我尝试将 Apache 配置为监听 192.168.xxx.xxx:80。同样,从我自己的计算机连接到服务成功,但从我的 Android 设备连接失败。我以为它快到了……
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-22
  • 2015-06-27
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多