You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

模拟器调用Web API超时求助:连接192.168.0.105:7270失败

解决模拟器调用本地Web API超时问题

错误分析

从报错信息来看,Android模拟器(IP 10.0.2.16)无法连接到局域网内的API服务(192.168.0.105:7270),核心问题在于模拟器网络与宿主机局域网的隔离限制,再结合可能的API绑定配置、证书信任或防火墙拦截等因素导致超时。

分步解决方案

1. 替换模拟器访问的IP地址

Android默认模拟器使用10.0.2.2作为宿主机的专属映射地址,直接使用局域网IP会被模拟器网络隔离。修改MonkeyService中的请求地址:

// 将原局域网IP替换为模拟器映射的宿主机地址
var response = await httpClient.GetAsync("https://10.0.2.2:7270/api/GetCust");
  • 若使用Genymotion模拟器,替换为10.0.3.2

2. 确保API服务允许外部访问

检查后端API的绑定配置,不能仅绑定127.0.0.1(仅本地可访问),需绑定0.0.0.0或局域网IP:

  • 以ASP.NET Core为例,修改launchSettings.json中的applicationUrl:
    "applicationUrl": "https://0.0.0.0:7270;http://0.0.0.0:7271"
    
  • 启动API后,用宿主机浏览器访问https://192.168.0.105:7270/api/GetCust,确认API能正常返回数据。

3. 处理HTTPS证书信任问题

模拟器默认不信任自签名HTTPS证书,可选择两种方式:

  • 测试阶段改用HTTP:将请求地址改为http://10.0.2.2:7270/api/GetCust,同时在Android项目的AndroidManifest.xml中添加配置:
    <!-- 添加网络权限 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- 允许明文流量(Android 9+必填) -->
    <application ... android:usesCleartextTraffic="true">
    
  • 导入证书到模拟器:导出API的自签名证书,通过模拟器的安全设置导入为系统信任证书。

4. 检查防火墙与端口

  • 临时关闭宿主机防火墙测试,或在防火墙中添加入站规则,允许7270端口的TCP流量。
  • 确认局域网内其他设备能访问192.168.0.105:7270,排除网络本身的问题。

5. 代码健壮性优化

当前代码在请求失败时会返回null,可能导致ViewModel中循环报错,建议修改MonkeyService:

public async Task<List<Monkey>> GetMonkeys()
{
    if (monkeyList?.Count > 0)
        return monkeyList;
    
    monkeyList = new List<Monkey>(); // 初始化空列表,避免返回null
    try
    {
        var response = await httpClient.GetAsync("https://10.0.2.2:7270/api/GetCust");
        if (response.IsSuccessStatusCode) {  
            monkeyList = await response.Content.ReadFromJsonAsync<List<Monkey>>() ?? new List<Monkey>();
        }
    }
    catch (Exception ex)
    {
        Debug.WriteLine($"API请求失败: {ex.Message}");
    }

    return monkeyList;
}

内容的提问来源于stack exchange,提问作者abdulraheem alarpi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 02:40:37