让Android在localhost上与Apache交谈

时间:2010-12-09 03:01:05

标签: android

我的Android应用程序与php服务器对话。我在WAMP服务器上本地运行Apache / php。我正在运行Windows 7.如果我在Windows 7上访问localhost,该网站会显示但在手机上它将在当前的Android操作系统上查找localhost,因此没有网站显示。

我设法通过打开我的apache配置到互联网然后使用我的外部IP地址来解决这个问题,这很烦人,因为我在动态IP上,有时没有互联网(+不安全)。

如何从android访问localhost(或hosts文件中的其他别名)发出http请求?

5 个答案:

答案 0 :(得分:6)

Jon是正确的,在一般情况下你不能让android设备通过USB线缆连接到PC(与Android模拟器的主要区别在于这种连接是由别名地址完成的)。但是,您可以做一些事情:

  • 您可以将电脑和手机连接到安全的无线路由器。它甚至不需要上游互联网连接。

  • 显然,如果你有froyo和usb tethering选项,打开它会产生副作用,通过USB建立联网,允许手机联系电脑(只是看你的互联网流量在哪里)

  • 如果您想在电脑上打开与手机上收听内容的连接,您可以使用adb端口转发。但听起来你想让电脑上的客户联系手机上的服务器,这样就行不通了。

答案 1 :(得分:5)

一般情况下,你不能。

如果计算机与Android设备位于同一无线网络,则可以执行的操作是连接到计算机的内部 IP。例如,在典型的家庭wifi路由器上,路由器位于192.168.1.1,与其连接的设备为192.168.1.x。因此,如果您的Windows 7 PC位于192.168.1.5,您应该可以通过Android设备正常访问...

答案 2 :(得分:3)

对于本地网络,您应该使用本地IP地址(例如192.168.1.x)。 不要忘记在Windows防火墙设置中打开您的端口(主要是80)。

答案 3 :(得分:2)

模拟器的每个实例都在虚拟路由器/防火墙服务后面运行,该服务将其与开发机器的网络接口和设置以及互联网隔离开来。仿真设备无法在网络上看到您的开发计算机或其他仿真器实例。相反,它只看到它通过以太网连接到路由器/防火墙。

每个实例的虚拟路由器管理10.0.2 / 24网络地址空间 - 路由器管理的所有地址都是10.0.2。,其中是一个数字。此空间中的地址由仿真器/路由器预先分配,如下所示: 网络地址描述 10.0.2.1路由器/网关地址 10.0.2.2主机环回接口的特殊别名(即开发计算机上的127.0.0.1) 10.0.2.3第一个DNS服务器 10.0.2.4 / 10.0.2.5 / 10.0.2.6可选的第二,第三和第四DNS服务器(如果有) 10.0.2.15模拟设备自己的网络/以太网接口 127.0.0.1仿真设备自己的环回接口

另请注意,开发计算机上的地址127.0.0.1对应于模拟器自己的环回接口。如果要访问在开发计算机的环回接口(计算机上为a.k.a. 127.0.0.1)上运行的服务,则应使用特殊地址10.0.2.2。

有关详细信息,请查看http://red23rockets.com/?p=28

答案 4 :(得分:0)

打开终端并键入Unix(Ubuntu):用于Windows的ifconfig或ipconfig,您将看到:

  • eth1链接封装:以太网HWaddr 00:23:8e:af:61:76
  • inet addr:192.168.1.6

您的号码可能与此号码不同。

  • web =(WebView)findViewById(R.id.webview01);
  • web.setWebViewClient(new myWebClient());
  • web.loadUrl( “[http://192.168.1.6]”); //删除[]