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

.NET MAUI调用ASP.NET Core Web API:Windows正常Android连接失败求助

解决Android端.NET MAUI连接Web API失败的问题

1. 替换主机名为电脑局域网IP地址

Android设备(模拟器/真机)的DNS解析逻辑可能无法识别WebApiCd这类本地主机名,即便浏览器能正常解析。解决步骤:

  • 用ipconfig(Windows)查看电脑的局域网IPv4地址(例如192.168.1.100)
  • 将API请求地址中的http://WebApiCd:7134替换为http://你的电脑IP:7134,同时优化请求写法:
    static async Task LectureAsync2()
    {
        client.BaseAddress = new Uri("http://192.168.1.100:7134/");
    
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    
        try
        {
            Console.WriteLine("GET 1 Cd");
            fich Cds1 = null;
            // 结合BaseAddress使用相对路径,避免重复写完整URL
            HttpResponseMessage response = await client.GetAsync("api/Cds/11");
    
            if (response.IsSuccessStatusCode)
            {
                Cds1 = await response.Content.ReadAsAsync<fich>();
            }
            else
            {
                Console.WriteLine($"请求失败,状态码:{response.StatusCode}");
            }
    
            Console.WriteLine(Cds1?.CdNom ?? "未获取到数据");
        }
        catch (Exception e)
        {
            Console.WriteLine($"异常:{e.Message}\n{e.StackTrace}");
        }
    
        Console.ReadLine();
    }
    

2. 配置Android网络安全允许明文HTTP请求

Android 9(API级别28)及以上默认拦截明文HTTP请求,若API未使用HTTPS,需添加安全配置:

  • 在MAUI项目的Platforms/Android/Resources/xml目录下创建network_security_config.xml,内容如下:
    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <domain-config cleartextTrafficPermitted="true">
            <domain includeSubdomains="true">你的电脑IP或WebApiCd</domain>
        </domain-config>
    </network-security-config>
    
  • 打开Platforms/Android/AndroidManifest.xml,在<application>标签中添加配置引用:
    <application android:networkSecurityConfig="@xml/network_security_config" ...>
    

3. 确认INTERNET权限已声明

确保MAUI Android项目已添加网络权限,检查Platforms/Android/AndroidManifest.xml中存在:

<uses-permission android:name="android.permission.INTERNET" />

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 02:20:22