ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Android 设备上浏览本地主机?

我尝试在我的 HTC Magic 上浏览本地主机。我已通过 USB 将我的设备与 Eclipse 连接起来。浏览 http://10.0.2.2 时,我收到“页面不可用”。我记得,几天前它起作用了。

但是在模拟器上我可以浏览本地主机

有任何想法吗?

10.0.2.2:[端口号]......
你的问题是/错了。如果您想从一台设备连接到另一台设备,则它与“localhost”无关(因此显然与 10.0.2.2 无关 - 仅用于模拟器的环回接口的别名)。

R
Ryan M

更简单的检查方法是在模拟器类型 10.0.2.2 的浏览器中而不是 localhost。


F
Fedor

我使用我的本地 IP,即 192.168.0.1 并且它可以工作。


但实际上 192.168.0.1 指向模拟器/设备本地主机。我在我的计算机 localhost(apache) 上运行了一个 web 服务,我希望它可以在我的设备上访问
好吧,我记得当我将我的设备连接到我的本地 wlan 网络时,它能够通过 10.0.2.2 请求本地主机,通过 USB 我认为进行网络连接是没有意义的^^
这是工作!!!我只是指向我的网关,例如 192.168.10.1。谢谢!
佚名

在模拟器上访问本地主机:10.0.2.2。但是,这可能并不总是有效,例如,如果您有 Web 服务器以外的其他东西,例如 XMPP 服务器。

假设您在同一个无线网络上...

找到您的本地 ip(应该是 192.168.1.x) - 转到命令行并输入“ipconfig”来获取它。其中 x 是分配给服务器机器的本地 ip。使用您的本地 ip 为您的 android 设备连接到您的本地主机。

它对我有用。


“但是这可能并不总是有效” 它总是有效!当然,您必须指定相应服务正在侦听的端口。
M
Michael Denham

如果您想通过无线网络从您的 Android 设备访问您的 PC 上运行的服务器,请首先在您的 PC 上运行命令 ipconfig(使用 run (Windows logo + R)、cmd、ipconfig)。

注意某些 x 的 IPv4 地址:(应该是 192.168.0.x)。在您的代码中使用它作为服务器 IP 地址以及端口号,例如 192.168.0.7:8080。

然后,您的 Android 设备将通过您的无线网络路由器访问服务器。


“应该是 192.168.0.x”。不,不应该。可能是但不是必须的。您只需要选择正确的适配器(无线局域网)。
D
Dimitris

在我开发 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 所需的链接到浏览器中的文本字段,然后单击打开。

小菜一碟


S
Shobhit Puri

您可以获得在 localhost 的特定端口上运行的服务器的公共 URL。

正如大多数其他答案所暗示的那样,在我的工作场所,我可以通过在应用程序中使用我机器的本地 IP 地址来访问本地服务器。但在家里,由于某种原因,我无法做到这一点。在尝试了很多答案并花费了很多时间之后,我遇到了 https://ngrok.com。这很简单。只需从文件夹中下载它:

ngrok portnumber

(来自 Windows 中的命令提示符)

./ngrok portnumber

(来自linux终端)

这将为您提供在 localhost 上的该端口号上运行的本地服务器的公共 URL。您可以包含在您的应用程序中并使用该 URL 对其进行调试。

您可以安全地将本地 Web 服务器公开到 Internet 并捕获所有流量以进行详细检查。您可以与您的同事开发人员共享 URL,他们也可能在远程工作并可以调试应用程序/服务器交互。

希望有一天这可以节省某人的时间。


R
Rob

结合上面的一些答案加上另一个附加项目为我解决了这个问题。

如上所述,关闭防火墙 [添加一个特定规则,在成功连接后允许传入连接到端口] 如上所述通过 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 连接。


H
Haroldo Gondim

Mac OSX 用户

如果您的手机和笔记本电脑在同一个 wifi 上:

转到 System Preferences > Network 获取您的 IP 地址

在您的移动浏览器上,键入 [your IP address]:3000 以访问 localhost:3000

例如12.45.123.456:3000


m
makt

如果您的 localhost 未在默认 HTTP 端口(即端口 80)上运行,您需要在 url 中指定与您的 localhost 运行的端口相对应的端口。例如,如果您的 localhost 正在运行,例如端口 85,您的 url 应该是

http://10.0.2.2:85

Y
Young

对于 mac 用户:

我在这个问题上工作了一个下午,直到我意识到我使用的 Xampp 不是真正的“Xampp”它是 Xampp VM,它基于 Linux 虚拟机自行运行。这使得它不在本地主机上运行,而是在另一个 IP 上运行。我安装了真正的 Xampp 并在 localhost 上运行我的本地服务器,然后使用我的 mac 的 IP 访问它。

希望这会对某人有所帮助。


J
Junuxx

如果您的防火墙已打开,请将其关闭并使用 IPv4 在实际设备中测试您的应用程序,然后测试您的应用程序。


D
Deepika Rajani

我有类似的问题,但我无法使用静态 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。


e
edwin

我使用 testproxy 来做到这一点。

npm install testproxy

testproxy http://10.0.2.2

然后,您将获得可以在移动设备上访问的 url(和 QR 码)。它甚至可以与仅通过输入开发机器的 IP 无法访问的虚拟机一起使用。


y
yshahak

我使用了 ngrok,但现在它需要注册,并且它也有连接请求限制。现在我正在使用 LocalTunnel,到目前为止它好多了。