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

Flutter无法连接本地.NET Core Web API问题求助

Flutter与.NET 7 API本地连接问题排查方案

一、.NET API端配置检查

  • 监听IP与端口配置:
    在Program.cs中确保Kestrel监听所有IP,而非仅localhost:
    builder.WebHost.ConfigureKestrel(options => {
        options.ListenAnyIP(5000); // 替换为你的API端口
    });
    
    同时修改launchSettings.json的applicationUrl为:
    "applicationUrl": "http://0.0.0.0:5000;https://0.0.0.0:5001"
    
  • 临时关闭CORS限制(开发环境):
    在Program.cs中添加CORS中间件(需放在UseRouting之后、UseAuthorization之前):
    builder.Services.AddCors(options => {
        options.AddPolicy("AllowAll", policy => {
            policy.AllowAnyOrigin()
                  .AllowAnyMethod()
                  .AllowAnyHeader();
        });
    });
    app.UseCors("AllowAll");
    
  • 验证API可用性:
    在电脑浏览器中直接访问http://你的电脑局域网IP:端口/api/控制器路径,能返回数据才说明API正常对外服务。

二、Flutter端适配调整

  • 安卓模拟器特殊IP:
    模拟器访问电脑本地API需用10.0.2.2(对应电脑localhost),Genymotion模拟器则用10.0.3.2。
  • 真机测试要求:
    手机与电脑必须在同一WiFi网络下,同时关闭电脑防火墙(或添加API端口的允许规则),Flutter代码中直接使用电脑的局域网IP(如192.168.42.232)。
  • 安卓网络权限配置:
    在android/app/src/main/AndroidManifest.xml中添加:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- 若API用HTTP而非HTTPS,需添加以下配置 -->
    <application android:usesCleartextTraffic="true">
    

三、代码细节排查

  • Flutter请求地址校验:
    确保ServiceDataProvider中的基础URL正确:
    // 安卓模拟器用
    final String baseUrl = 'http://10.0.2.2:5000/api';
    // 真机用
    // final String baseUrl = 'http://192.168.42.232:5000/api';
    
    同时检查请求路径与.NET控制器的路由注解(如[Route("api/[controller]")])完全匹配。
  • 捕获请求错误信息:
    在Flutter请求代码中添加异常捕获,打印具体错误:
    try {
      final response = await http.get(Uri.parse('$baseUrl/your-endpoint'));
      if (response.statusCode != 200) {
        print('状态码:${response.statusCode},响应内容:${response.body}');
      }
    } catch (e) {
      print('请求异常:$e');
    }
    
    根据错误信息定位问题(如连接超时、404、CORS拦截等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:57:16