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

Flutter WebView加载指定链接出现SSL握手错误及白屏问题

解决Flutter WebView加载https://maps.chi.ac.uk的SSL握手错误问题

错误原因分析

日志中的SSL error code 1, net_error -202表明SSL握手失败,大概率是目标网站的SSL证书不被设备系统信任,或者TLS协议版本与WebView存在兼容问题(其他网站正常加载说明WebView基础配置无问题)。

解决建议

1. 临时绕过SSL验证(仅测试/内部场景使用,生产环境禁止)

如果是测试或内部可信网站,可以临时忽略SSL错误:

Android端代码修改

在创建WebViewController时,配置Android专属的WebViewClient来忽略SSL错误:

_controller = WebViewController.fromPlatformCreationParams(
  PlatformWebViewControllerCreationParams(
    androidAndroidSettings: AndroidWebViewControllerSettings(
      webViewClient: AndroidWebViewClient(
        onReceivedSslError: (controller, request, errorHandler) {
          // 忽略SSL错误,仅用于测试场景
          errorHandler.proceed();
          // 若需提示用户风险,可调用errorHandler.cancel()并弹出提示框
        },
      ),
    ),
  ),
)
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setBackgroundColor(const Color(0x00000000))
..setNavigationDelegate(
  NavigationDelegate(
    onWebResourceError: (WebResourceError error) {
      // 打印详细错误信息便于排查
      print("Web资源错误: ${error.description}, 错误码: ${error.errorCode}");
    },
    onNavigationRequest: (NavigationRequest request) {
      return NavigationDecision.navigate;
    },
  ),
)
..loadRequest(Uri.parse('https://maps.chi.ac.uk'));

iOS端配置修改

在项目的ios/Runner/Info.plist中添加针对该域名的ATS例外:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>chi.ac.uk</key>
    <dict>
      <key>NSIncludesSubdomains</key>
      <true/>
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.0</string>
    </dict>
  </dict>
</dict>

2. 排查证书与协议兼容性

  • 确认目标网站的TLS协议版本:如果网站使用了较旧的TLS 1.0/1.1,部分现代WebView(尤其是Android 7.0+、iOS 10+)默认禁用,需网站方升级至TLS 1.2及以上版本。
  • 检查证书有效性:用设备自带浏览器打开该网站,若提示证书不可信,说明证书未被系统信任链收录,需网站方修复证书配置(比如补充完整的中间证书)。

3. 验证设备系统版本

旧版本Android(7.0以下)或iOS(10以下)对新TLS协议支持有限,若设备系统过旧,可尝试升级系统后再测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:40:36