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

Flutter中用NetworkImage加载DiceBears头像遇证书过期错误如何解决?

解决Flutter中CircleAvatar加载HTTPS图片的证书过期问题

你在使用CircleAvatar加载Dicebear头像时遇到的HandshakeException,核心原因是目标域名avatars.dicebear.com的SSL证书已过期,导致客户端无法完成安全握手。以下是可行的解决办法:

1. 更换为Dicebear官方最新API域名

Dicebear已更新了API服务域名和版本,使用最新的接口即可避免证书问题:

CircleAvatar(
  // 替换为v7.x版本的API地址
  backgroundImage: NetworkImage(
      'https://api.dicebear.com/7.x/micah/png?seed=your-custom-seed'),
  radius: 17.0,
)

新版本API不仅修复了证书问题,还提供了更丰富的自定义参数,稳定性更强。

2. 测试环境临时绕过证书校验(生产禁用)

如果只是本地测试需要快速验证功能,可以通过自定义HttpOverrides跳过证书验证,但生产环境绝对不能使用,会引发严重安全风险:

import 'dart:io';
import 'package:flutter/material.dart';

class MyHttpOverrides extends HttpOverrides {
  @override
  HttpClient createHttpClient(SecurityContext? context) {
    return super.createHttpClient(context)
      ..badCertificateCallback =
          (X509Certificate cert, String host, int port) => true;
  }
}

void main() {
  HttpOverrides.global = MyHttpOverrides();
  runApp(const MyApp());
}

3. 检查设备系统时间

部分情况下,设备系统时间与当前实际时间偏差过大,也会导致SSL证书校验失败。确保设备时间设置为正确的当前时间。

内容的提问来源于stack exchange,提问作者Abu Bakar Toha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 13:01:02