我尝试在我的 HTC Magic 上浏览本地主机。我已通过 USB 将我的设备与 Eclipse 连接起来。浏览 http://10.0.2.2 时,我收到“页面不可用”。我记得,几天前它起作用了。
但是在模拟器上我可以浏览本地主机
有任何想法吗?
更简单的检查方法是在模拟器类型 10.0.2.2 的浏览器中而不是 localhost。
我使用我的本地 IP,即 192.168.0.1 并且它可以工作。
在模拟器上访问本地主机:10.0.2.2。但是,这可能并不总是有效,例如,如果您有 Web 服务器以外的其他东西,例如 XMPP 服务器。
假设您在同一个无线网络上...
找到您的本地 ip(应该是 192.168.1.x) - 转到命令行并输入“ipconfig”来获取它。其中 x 是分配给服务器机器的本地 ip。使用您的本地 ip 为您的 android 设备连接到您的本地主机。
它对我有用。
如果您想通过无线网络从您的 Android 设备访问您的 PC 上运行的服务器,请首先在您的 PC 上运行命令 ipconfig(使用 run (Windows logo + R)、cmd、ipconfig)。
注意某些 x 的 IPv4 地址:(应该是 192.168.0.x)。在您的代码中使用它作为服务器 IP 地址以及端口号,例如 192.168.0.7:8080。
然后,您的 Android 设备将通过您的无线网络路由器访问服务器。
在我开发 Java Web 应用程序时,我还需要在我的 Android 设备(Samsung S3)上查看 localhost。
到目前为止,最快和最简单的方法是访问此链接并按照说明进行操作:https://developer.chrome.com/devtools/docs/remote-debugging
* 注意:您必须使用 Google Chrome。* 我对上述链接的总结:
通过 USB 将 PC 与手机连接。
从设置中打开手机的“开发者选项”
在 PC 浏览器中转到 about:inspect URL
检查“发现 USB 设备”(如果您在 Web 应用程序中使用它们,请转发端口)
复制/粘贴 localhost 所需的链接到浏览器中的文本字段,然后单击打开。
小菜一碟
您可以获得在 localhost 的特定端口上运行的服务器的公共 URL。
正如大多数其他答案所暗示的那样,在我的工作场所,我可以通过在应用程序中使用我机器的本地 IP 地址来访问本地服务器。但在家里,由于某种原因,我无法做到这一点。在尝试了很多答案并花费了很多时间之后,我遇到了 https://ngrok.com。这很简单。只需从文件夹中下载它:
ngrok portnumber
(来自 Windows 中的命令提示符)
./ngrok portnumber
(来自linux终端)
这将为您提供在 localhost 上的该端口号上运行的本地服务器的公共 URL。您可以包含在您的应用程序中并使用该 URL 对其进行调试。
您可以安全地将本地 Web 服务器公开到 Internet 并捕获所有流量以进行详细检查。您可以与您的同事开发人员共享 URL,他们也可能在远程工作并可以调试应用程序/服务器交互。
希望有一天这可以节省某人的时间。
结合上面的一些答案加上另一个附加项目为我解决了这个问题。
如上所述,关闭防火墙 [添加一个特定规则,在成功连接后允许传入连接到端口] 如上所述通过 ipconfig 查找 IP 地址 验证您的网络服务器是否绑定到上面找到的 IP 地址,而不是只有 127.0.0.1。通过浏览 ip 地址和端口在本地进行测试。例如 192.168.1.113:8888。如果不是,请找到解决方案。例如 https://groups.google.com/forum/?fromgroups=#!topic/google-appengine-java/z4rtqkKO2hg 现在在您的 Android 设备上进行测试。请注意,我还关闭了数据连接并在我的 Android 上专门使用了 wifi 连接。
Mac OSX 用户
如果您的手机和笔记本电脑在同一个 wifi 上:
转到 System Preferences > Networ
k 获取您的 IP 地址
在您的移动浏览器上,键入 [your IP address]:3000
以访问 localhost:3000
例如12.45.123.456:3000
如果您的 localhost 未在默认 HTTP 端口(即端口 80)上运行,您需要在 url 中指定与您的 localhost 运行的端口相对应的端口。例如,如果您的 localhost 正在运行,例如端口 85,您的 url 应该是
http://10.0.2.2:85
对于 mac 用户:
我在这个问题上工作了一个下午,直到我意识到我使用的 Xampp 不是真正的“Xampp”它是 Xampp VM,它基于 Linux 虚拟机自行运行。这使得它不在本地主机上运行,而是在另一个 IP 上运行。我安装了真正的 Xampp 并在 localhost 上运行我的本地服务器,然后使用我的 mac 的 IP 访问它。
希望这会对某人有所帮助。
如果您的防火墙已打开,请将其关闭并使用 IPv4 在实际设备中测试您的应用程序,然后测试您的应用程序。
我有类似的问题,但我无法使用静态 IP 地址或更改防火墙设置来解决它。我找到了一个有用的实用程序,可以在一分钟内完成配置。
我们可以免费在云上托管我们的本地 Web 服务器。在云上公开它时,我们会得到一个不同的 URL,我们可以使用它而不是 localhost 并从任何地方访问网络服务器。
该实用程序是 ngrok https://ngrok.com/download 步骤:
注册 下载 解压文件并双击运行它,这将打开一个命令提示符键入“ngrok.exe http 80”,不带引号来托管例如在端口 80 上运行的 XAMPP apache 服务器。复制在 cmd 上生成的新 url 名称提示例如,如果它是这样的“fafb42f.ngrok.io”
URL 像:http://localhost/php/test.php 应该这样修改:http://fafb42f.ngrok.io/php/test.php
现在可以通过电话访问此 URL。
我使用 testproxy 来做到这一点。
npm install testproxy
testproxy http://10.0.2.2
然后,您将获得可以在移动设备上访问的 url(和 QR 码)。它甚至可以与仅通过输入开发机器的 IP 无法访问的虚拟机一起使用。