如何从 VM 内的 android 模拟器访问本地主机?

How to access localhost from on android emulator inside a VM?

我知道这个问题听起来有点令人困惑,但我们开始吧。

我正在使用 Azure VM 开发跨平台应用程序 (Xamarin),该应用程序需要使用 .net 核心 Web API。

我正在使用可以访问互联网的 Google 模拟器。

我试过的-

我试过 google 模拟器默认连接 10.0.2.2:"MY WEB API PORT"/swagger。我得到的结果是 "Bad request - invalid hostname"

我尝试了很多,但都无济于事。

非常感谢任何帮助。

好的,问题是当我 运行 来自 Visual Studio 的 ISS Express 上的 Web 服务时,它不是 运行 我的本地 IP 地址 127.0 .0.1:[我的网站 API 端口].

感谢@JasonYe-MSFT 告诉我这个命令,我发现了这个

netstat -ant

当我 运行 命令时,我发现我的网络应用 运行 所在的端口没有连接到我的本地 IP,而是格式如下

[::]:64339

所以在 visual studio 而不是 运行 使用 IIS Express 的网络应用程序中,我也更改了项目本身,当我再次 运行 命令时,端口现在有了我的连接到它的本地 IP 地址。

在 android 模拟器中,我现在可以使用 AVD 默认 IP 地址“10.0.2.2”加载网络 api。所以完整地址是

10.0.2.2:"MY WEB API PORT"/swagger