我正在尝试从模拟器连接到我的 API。 API 很简单,GET 方法返回一个日期。现在API部署在本地IIS上,地址为https://localhost:4433/api/echo。如您所见,这是有序的。现在我需要从模拟器连接到这个 URL。但是,我得到一个错误无效的主机名。模拟器 Pixel 5- API 30.
要从 Android 模拟器访问本地部署的 API,您需要修改 URL 以使用 IP 地址 10.0.2.2 而不是 localhost。例如,如果您的 API 部署在 https://localhost:4433/api/echo 上,您应该使用 https://10.0.2.2:4433/api/echo 从模拟器访问它。
确保您的 API 配置为接受来自远程客户端的连接并且模拟器可以连接到互联网也很重要。
或者,
如果不起作用,则必须连接到计算机的 IP。
由于模拟器是一个完整的 Android 设备,它有自己的网络,并且不使用与您的机器相同的主机文件及其自己的 IP。
错误消息“无效的主机名”通常在解析您尝试连接的服务器的域名或 IP 地址 时出现问题。在这种情况下,模拟器似乎无法将主机名“localhost”解析为正确的 IP 地址。
要解决此问题,您可以尝试使用本地计算机的 IP 地址而不是“localhost”。以下是您可以遵循的步骤:
查找本地计算机的 IP 地址。您可以通过打开命令提示符并运行命令 ipconfig 来执行此操作。根据您的网络连接,在“以太网适配器”或“Wi-Fi 适配器”部分下查找“IPv4 地址”字段。
将“localhost”替换为您用于连接 API 的 URL 中的 IP 地址。例如,如果您的 IP 地址是“192.168.0.100”,则 URL 将是“https://192.168.0.100:4433/api/echo”。
确保本地计算机的防火墙允许端口 4433 上的传入连接。您可以检查 Windows 防火墙设置以确保打开必要的端口。
尝试使用更新后的 URL 和 IP 地址从模拟器再次连接到 API。
如果问题仍然存在,您还可以尝试在不同的端口上运行 API 或配置本地网络设置以允许来自模拟器的传入连接。