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

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

我错过了什么?


当前回答

以管理员身份运行CMD

在CMD屏幕上输入ipconfig,屏幕将显示文本

就像这张照片

您可以使用这个IP访问您的本地主机 您必须连接到与您的PC连接的相同网络

其他回答

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

我只改变了一件事,在教程中,你把“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访问您的本地主机。

首先,把你的手机和电脑连接到普通的wifi。

然后,以管理员身份运行打开命令提示符

给出ipconfig命令

哪个显示无线局域网ip

在电话中使用ip:服务器的端口访问

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/

这对我来说是有用的,我在127.0.0.1 ip后添加了另一行,以指定我想使用的设备的确切本地网络ip地址(而不是公共ip地址)。我用的是三星Galaxy S3

根据Bangptit的建议,编辑httpd.conf文件(x是版本号): C: \ wamp \ bin \ apache \ Apache2.x.x \ conf \ httpd . conf

搜索onlineoffline标签,并添加您的电话的ip(我发现我的电话ip地址在我的路由器配置页面):

Onlineoffline标签-不要删除

 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1

我的电话IP在下面一行

 Allow from 192.168.1.65 
 Allow from ::1
 Allow from localhost

可以将其扩展到包括整个子域,例如192.168.1.0/24等

因为这是一个老问题,有一个新的方法来做这个非常非常简单。下载ADB Chrome扩展,然后按照这些说明:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging