我在本地机器上运行一个web服务,该服务运行在localhost:54722上。
我想从Android模拟器中运行的应用程序调用该服务。
我读到在应用程序中使用10.0.2.2将访问localhost,但它似乎不能与端口号一起工作。它说HttpResponseException: Bad Request。
我在本地机器上运行一个web服务,该服务运行在localhost:54722上。
我想从Android模拟器中运行的应用程序调用该服务。
我读到在应用程序中使用10.0.2.2将访问localhost,但它似乎不能与端口号一起工作。它说HttpResponseException: Bad Request。
当前回答
1)在cmd下执行ipconfig命令
2)你会得到这样的结果
3)使用VMWare网卡1的IPv4地址加上端口号
在我的例子中是8080,所以不用localhost:8080
我使用的是192.168.51:8080
做……
其他回答
解释为什么localhost不能从模拟器提供给任何有基本访问问题的人。对于复杂的案例,请阅读其他答案。
问题:模拟器有自己的本地网络和本地主机映射到模拟器,但不是你的主机!
解决方案:
将服务器绑定为0.0.0.0以使其可用于模拟器的网络 获取笔记本电脑的外部IP地址:ifconfig命令 在Android(或Flutter应用程序)中,使用您的外部接口IP地址,如:192.168.1.10而不是localhost
我想向您展示我从我的Android模拟器访问IISExpress Web api的方式。我使用Visual Studio 2015。我从Android Studio调用Android模拟器。
我所需要做的就是将下面这一行添加到我的applicationhost中的绑定配置中。配置文件
<binding protocol="http" bindingInformation="*:<your-port>:" />
然后我检查并使用IP4地址从Android模拟器访问我的API
要求:您必须以管理员身份运行Visual Studio。这篇文章给出了一个完美的方法。
欲了解更多细节,请访问我在github上的帖子
希望这能有所帮助。
对于Laravel宅基地用户: 如果任何人使用Laravel与homestead,您可以在模拟器中使用192.168.10.10访问应用程序后端
还是不行? 另一个好的解决方案是使用ngrok https://ngrok.com/
如果你正在使用一些第三方包,如node express或angular-cli,你需要找到你的机器的IP,并在服务器启动配置中将你的主机附加到该IP(而不是localhost)。然后使用IP从模拟器启动它。例如,我必须使用:ng serve -H 10.149.212.104来使用angular-cli。然后从我使用的模拟器:http://10.149.212.104:4200
我有一个网络服务器运行在我的本地主机。
如果我打开模拟器并想要连接到我的本地主机,我使用的是192.168.x.x。这意味着您应该使用本地局域网ip地址。顺便说一下,您的HttpResponseException(坏请求)并不意味着主机不可达。
其他一些错误会导致此异常。