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

本地Angular应用调用.NET Core 5 API遇Android访问问题求助

解决建议

针对手机无法调用本地.NET Core API的问题,可按以下步骤排查:

  • 检查Angular中API的访问地址配置
    确保Angular项目里的API基础地址不是localhost,而是运行API的电脑的局域网IP(比如192.168.0.12)。例如在src/environments/environment.ts中修改:

    export const environment = {
      production: false,
      apiUrl: 'http://192.168.0.12:5000/api' // 替换为你的API端口和实际路径
    };
    

    如果使用localhost,手机会尝试访问自身的本地地址,自然无法连接到电脑上的API。

  • 确认API端口的防火墙规则
    你已开放4200端口(Angular的服务端口),但API使用的端口(比如默认的5000/5001)也需要在防火墙中添加入站规则,允许所有来源的流量访问该端口。

  • 验证.NET Core的CORS配置是否生效
    检查API的启动配置,确保CORS策略正确注册并启用:

    1. 在Startup.cs的ConfigureServices方法中注册CORS:
      services.AddCors(options =>
      {
          options.AddPolicy("AllowAll", policy =>
          {
              policy.AllowAnyOrigin()
                    .AllowAnyMethod()
                    .AllowAnyHeader();
          });
      });
      
    2. 在Configure方法中启用CORS,注意顺序要放在UseRouting之后、UseEndpoints之前:
      app.UseRouting();
      app.UseCors("AllowAll"); // 必须置于此中间件顺序位置
      app.UseAuthorization();
      app.UseEndpoints(endpoints =>
      {
          endpoints.MapControllers();
      });
      
  • 确保API绑定到局域网可访问的地址
    启动.NET Core API时,要让它绑定到0.0.0.0(允许所有网卡访问)或电脑的局域网IP,而不是仅localhost。可以通过以下方式设置:

    • 启动命令:dotnet run --urls=http://0.0.0.0:5000
    • 修改Properties/launchSettings.json中的applicationUrl:
      "applicationUrl": "http://0.0.0.0:5000;https://0.0.0.0:5001"
      
  • 确认网络环境一致性
    检查手机连接的WiFi和运行API/Angular的电脑是否在同一局域网内,避免跨网段、VPN或移动数据导致的网络隔离。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:19:52