如何从Android设备访问本地主机网站

5
我在笔记本电脑上有一个ASP.net Web API,其地址为:
localhost:99949。
我将其添加到IIS Express中,以便在同一局域网内的其他计算机上访问我的Web Api,地址为:
Nimis:80。
我可以从其他PC上访问我的Web Api,但是当我尝试使用我的Android设备访问时,出现"网页不可用"的错误提示。
我关闭了所有防火墙。
请问我应该怎么做来解决这个问题?

1
你不能在安卓设备上访问位于你的网络内计算机上的本地主机网站。即使在安卓设备中,localhost 仅描述当前设备。 - Security Hound
1
你的安卓设备是否连接在同一局域网上? - S.Thiongane
请参考以下链接:http://stackoverflow.com/questions/10309049/connect-to-localhost-from-android-device。 - Aravin
1
请参考以下链接:https://dev59.com/3G445IYBdhLWcg3wmLde。该链接涉及如何从Android设备访问本地主机。 - Aravin
@mansoulx 是的,同一个局域网。 - Mas Jamie
2个回答

4

您需要在防火墙中添加一个入站规则,用于端口80(或您在IIS上为您的网站使用的任何端口):

Go to Control Panel, Windows Firewall
Select Inbound Rules
Add a New Rule
    Select "Port" as a Rule Type
    Select "TCP and put "80" (and any other ports you want to open) in "Specific local ports"
    Select "Allow the connection"
    Select the network location where the rule should apply
    Give a name and an optional description

之后,您应该能够使用http://computername(例如http://myhomepc)从同一网络中的其他设备访问您的站点。

但是,您可能需要在Android上使用服务器机器的IP。它似乎总是使用Google的服务器覆盖其DNS条目。在这种情况下,请尝试按照此处所述修改DNS设置。


0

我曾经遇到过同样的问题,以下是我的解决方案,而不需要更改防火墙或任何其他设置:

  1. 获取IIS-Express部署的WebService的IP地址(运行IIS-Express):为此,在Visual Studio中安装“Conveyor”扩展程序:Youtube上的教程
  2. 要检查它是否工作,请在移动设备上打开浏览器并键入Conveyor中显示的IP地址:WebService的IP地址-->例如,我键入了URL:“http://192.168.178.51:45455/api/ToDo”以从我的Rest-Webservice获取正确的HttpGet
  3. 为了在Android Studio中运行它,我使用了普通的HttpURLConnection(相同的URL也可以在模拟器上运行!)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接