我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。

但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。

我错过了什么?


当前回答

在Ilya Saunkin回答的基础上,这里有一个命令,应该输出你的IP地址格式为超链接-只需用3000代替你的端口号:

ifconfig | grep "inet " | grep -v 127.0.0.1 | sed 's/netmask.*//g' | sed 's/inet//g' | awk '{print "http://"$1":3000/"}'

根据您运行命令的位置,您应该能够(在Mac上)按住命令键并单击/双击打开链接。

其他回答

Ngrok是最好的解决方案。 如果你正在开发PHP,那么我建议安装Laravel Valet,它有MacOS和Linux版本,然后你可以使用Valet共享命令。如果你正在开发任何前端技术,需要共享一个端口,比如3000,那么直接使用ngrok


Xampp和ngrok

你也可以在Windows中使用ngrok和Xampp。您可以使用以下流程。这很简单。

在ngrok上注册一个免费账户 从下载部分下载ngrok文件并打开它

注意Apache服务器运行的端口。我的情况是80

在ngrok命令行中输入ngrok http YOUR_PORT并复制转发地址

现在你可以在任何设备上使用这个转发链接(即你的物理android设备),它将托管你的本地主机服务器。例如,

取代

http://localhost/my-files/

with

http://YOUR_FORWARDING_ADDRESS/my-files/

如果你在Linux上运行 这对我很有用

sudo iptables -F

在Ilya Saunkin回答的基础上,这里有一个命令,应该输出你的IP地址格式为超链接-只需用3000代替你的端口号:

ifconfig | grep "inet " | grep -v 127.0.0.1 | sed 's/netmask.*//g' | sed 's/inet//g' | awk '{print "http://"$1":3000/"}'

根据您运行命令的位置,您应该能够(在Mac上)按住命令键并单击/双击打开链接。

我找到了一个快速解决这个问题的方法。试试这个链接。它应该能帮你解决问题。

我只改变了一件事,在教程中,你把“127.0.0.1”改为“所有”,把它改为你的服务器正在运行的IP地址。

在此之后,您应该能够连接到本地主机。


以下是链接页面信息的(校对)副本:

步骤1

安装Wamp服务器(或其他您喜欢的服务器)。

这是我所知道的设置本地服务器最好的服务器之一。如果您已经安装了Apache或其他服务器,请忽略此步骤。

从这里下载并安装Wamp服务器。

步骤2

在Windows防火墙中为80端口添加一条新规则。

打开控制面板,选择“Windows防火墙”。 在“Windows防火墙”设置页面的左侧面板中选择“高级设置”。 从左侧面板中选择Inbound Rules,然后选择New Rule。 选择“Port”,单击“Next”。 选择“Specific local ports”单选按钮,输入80作为端口值。 保持保持连接不变,执行下一步。 保持Profile选项不变并单击Next。 给新规则起个好听的名字,然后单击Finish。

这将启用本地网络IP上的80端口访问。

步骤3

编辑Wamp服务器的httpd.conf文件以修复403错误。

我们需要编辑这个文件。否则,当我们通过本地网络IP访问本地主机时,将得到403禁止错误。

Click on the Wamp server tray icon. Open Apache server sub menu. Select httpd.conf. Find this section of configuration in the httpd.conf file: Directory “c:/wamp/www/” # # Possible values for the Options directive are “None”, “All”, # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that “MultiViews” must be named *explicitly* — “Options All” # doesn’t give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be “All”, “None”, or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride all # # Controls who can get stuff from this server. # # onlineoffline tag – don’t remove Order Deny,Allow Deny from all Allow from 127.0.0.1

找到并将' 127.0.0.1 '替换为' All ',保存文件,并重新启动Wamp服务器。

步骤4

找到您的本地网络IP。

打开命令提示符。 键入并输入ipconfig命令。 在我的例子中,我的局域网地址是10.0.0.2。

这是你需要通过wifi访问你的Android手机上的本地主机的IP。要测试它是否正常工作,请在安装本地主机服务器的桌面浏览器中键入此IP地址。浏览器应该成功地显示您的本地主机页面。这将确保这个本地网络IP现在可以在您的Android手机上成功访问。

我希望本教程将帮助您通过wifi访问您的本地主机。

在你的ubuntu/Macbook中使用这个来获取你系统的ip地址。你的手机和系统应该在同一个网络中

ip addr | grep inet这将给你一个看起来像192.168.168.46的ip地址。在你的智能手机上使用这个。

希望这能有所帮助。