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

.NET Core API发布后MAUI安卓应用API调用失败求助

问题原因及解决方案

核心原因

Debug模式下你用了自定义的HttpsClientHandlerService,大概率是绕过了SSL证书验证;而Release模式用默认HttpClient,安卓系统会严格校验服务器SSL证书,若证书不被安卓信任(比如自签名证书、证书域名不匹配、证书链不完整),就会拦截API请求。另外也可能存在安卓网络安全配置未放行目标域名的情况。

具体解决方案

1. 处理SSL证书信任问题

情况A:使用合法CA签发的证书

确保API服务器证书是正规CA签发,且域名与证书绑定一致、证书链完整。这种情况下,只需统一Release和Debug模式的HttpClient配置,使用平台适配的消息处理器:

var loginData = new { Username = username, Password = password };
HttpsClientHandlerService handler = new HttpsClientHandlerService();
HttpClient client = new HttpClient(handler.GetPlatformMessageHandler());

client.BaseAddress = new Uri("https://apps.example.com:93/HRA_API1");

var response = await client.PostAsJsonAsync("api/Auth", loginData);

去掉#if DEBUG分支,避免不同模式下的配置差异。

情况B:使用自签名证书

如果是测试环境用自签名证书,需要在安卓项目中配置信任该证书:

  • 将自签名证书(.cer格式)放到安卓项目的Resources/raw目录
  • 在Resources/xml下创建network_security_config.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="false">
        <domain includeSubdomains="true">apps.example.com</domain>
        <trust-anchors>
            <certificates src="@raw/你的证书文件名" />
            <certificates src="system" />
        </trust-anchors>
    </domain-config>
</network-security-config>
  • 在安卓项目的AndroidManifest.xml中引用该配置:
<application android:networkSecurityConfig="@xml/network_security_config">

2. 检查安卓网络权限

确保AndroidManifest.xml中添加了必要的网络权限:

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

3. 简化BaseAddress配置

当前代码中安卓和其他平台的BaseAddress一致,可直接简化为统一地址,避免不必要的平台判断:

client.BaseAddress = new Uri("https://apps.example.com:93/HRA_API1");

4. 捕获异常定位具体错误

在代码中添加异常捕获,打印详细错误信息,方便精准排查:

try
{
    var response = await client.PostAsJsonAsync("api/Auth", loginData);
    response.EnsureSuccessStatusCode();
    // 后续业务处理
}
catch (Exception ex)
{
    Console.WriteLine($"API调用失败:{ex.Message}\n{ex.StackTrace}");
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:42:45