在Mac上运行的Localhost ..我可以在我的Android手机上查看吗?

Mar*_*les 50 macos android localhost

在我的mac上运行ruby on rails项目.我需要在我的Android手机上测试它.有没有办法在我的Android手机上查看我的mac localhost?

Chu*_*uck 70

名称"localhost"只是您自己计算机的环回.要在Android上访问它,您需要找到计算机的IP地址.

查找此信息的最常用方法(适用于Mac和Linux)是进入终端并键入ifconfig.查找"en0"或"en1",并在该条目下查找"inet"列表.这将是"192.168.1.100"的行.当您找到该地址时,您希望将其放入浏览器的地址栏中.

(具体来说,在Mac上,您可以转到"系统偏好设置"中的"共享"面板,它会告诉您.)

  • 只是添加我发现的东西.通过在Android浏览器中输入192.168.1.107(我的Mac ip),它将无法正常工作.但是,如果我输入192.168.1.107:3000,它将起作用. (7认同)
  • @VHanded那是因为您的rails服务器正在侦听端口3000. (5认同)
  • 确保你像我一样输入`ifconfig`和_not_` ipconfig`(最近从pc转到mac).花了很长时间才看到这个错字. (3认同)
  • 还要确保Mac和Android设备都在同一网络上 (2认同)
  • 我应该在共享窗格中启用什么? (2认同)

use*_*964 16

以下是让您的本地主机可用于其他设备上的测试的快速操作:

1)识别Android的IP:选择您连接的Wi-Fi(与Mac上的相同),您将获得详细的IP).例如:我们假设您的Android IP为:192.168.0.10

2)在Mac上打开Shell并编辑主机:

sudo nano /etc/hosts
Run Code Online (Sandbox Code Playgroud)

3)编辑文件如下:

127.0.0.1 192.168.0.10
Run Code Online (Sandbox Code Playgroud)

4)识别您的Mac IP :(如@Chuck完美解释)(在您的shell中):

ifconfig
Run Code Online (Sandbox Code Playgroud)

5)打开您在手机上使用的最喜爱的网络浏览器,并使用以下内容直接连接到Mac IP(如果需要,还可以使用端口):

http://192.168.x.x:8000/
Run Code Online (Sandbox Code Playgroud)

6)享受你的考验:)

请注意,您可以为Wi-Fi上连接的每个支持执行此操作.

  • 在upvoting之前有没有人真的尝试过这个? (4认同)
  • 快速获取 mac ip:`ifconfig | 终端中的 grep 192` (3认同)

Bja*_*nar 13

假设您的移动设备和计算机位于同一网络上,Chunk的答案是正确的.但是,如果您希望本地主机服务器对更广泛的Internet可见(例如,通过3G进行测试,开发webhook或与远程同事/客户端协作),则需要更多本地地址(从10.*或192.168开始.*)更广泛的互联网不可见.

传统的解决方案是端口转发和动态DNS,但最近出现了一些旨在简化此过程的服务(免责声明:我是其中一个的作者,PageKite).

这些服务为您提供公共DNS名称和软件,将您的"localhost"与云端中继服务器(也称为反向代理)连接起来.例如,如果您使用的是PageKite,则可以在终端中运行以下命令:

$ pagekite.py 80 yourname.pagekite.me

...从http://yourname.pagekite.me/运行的Web服务器创建映射http://localhost:80.程序运行时,您的localhost站点将对Internet的其余部分可见.为了再次将其设为私有,您只需关闭pagekite.py连接器程序即可.

为了完整起见,以下是我所知道的一些localhost隧道服务:

  • PageKite是自由软件(Python),具有" 按需付费"的在线服务.您可以根据需要创建任意数量的长期子域,包含通配符SSL证书,前端中继在多个地理位置运行,以提供冗余和响应能力.
  • Localtunnel是一个免费的(由Twilio赞助)Ruby解决方案,它提供临时名称的连接.请注意,名称会被回收,因此您可能会在连接生效时看到意外流量.
  • Showoff.io和Tunnlr.com是与Localtunnel相当的专有付费服务,基于相同的基本技术(ssh隧道).

(抱歉没有链接到最后两个,SO垃圾邮件保护阻止我对我的竞争对手公平.;-)


yai*_*eno 9

此外,如果您想在 Android/iOS 设备上测试使用Angular开发的PWA 应用程序,您将需要使用:

ng serve --host 0.0.0.0 启动服务器 CLI。

如果您收到“无效的主机头”,请使用:

ng serve --host 0.0.0.0 --disableHostCheck true


Sim*_*han 8

这对我来说通过本地网络访问带有IP的rails服务器:

我可以通过http://192.168.100.12:8080/访问我的本地主机


ras*_*som 6

今天找到了这个伟大的免费工具 - 真的很容易设置和工作就像一个魅力!适用于Mac OS,Linux和Windows的版本也可用.

https://ngrok.com/

(我没有以任何方式与它联系)