http - 为 http : ^0. 12.0 包设置 ssl

标签 http ssl flutter pinning

我想知道如何在 Flutter 中为 http(http: ^0.12.0) 包设置 ssl,
无需迁移到 dart:io。

目前我正在使用:

http.Client httpClient = http.Client();

而且我没有看到任何设置 ssl 的选项。

我必须使用
final SecurityContext context = SecurityContext.defaultContext;
HttpClient client = HttpClient(context);

来自飞镖:io?

最佳答案

您可以创建一个 HttpOverride 以使客户端忽略此 GitHub issue ticket 中提到的错误证书。 .这只建议在开发版本中使用。

class DevHttpOverrides extends HttpOverrides {
  @override
  HttpClient createHttpClient(SecurityContext? context) {
    return super.createHttpClient(context)
        ..badCertificateCallback = (X509Certificate cert, String host, int port) => true;
  }
}
然后初始化要使用的 HttpOverride。
HttpOverrides.global = DevHttpOverrides();

关于http - 为 http : ^0. 12.0 包设置 ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54492316/

相关文章:

http - 读取缓冲区并将其重写为 Go 中的 http.Response

Android:http套接字超时 - 强制关闭错误

php - 使用 CA 颁发的证书的相互 SSL

c# - 什么都没有改变时,远程证书无效随机破坏电子邮件? (AWS)

flutter - Dart 解决 Prefer using null-aware Operators 错误

android - 无法使用 flutter 在 android studio 中加载 windows 开发选项

php - ajax请求并发数最大限制

javascript - 可以向网络浏览器发出 HTTP 请求吗?

ssl - 使用 SSL 加密和 NTLM 身份验证的 HttpClient 4.2.3 失败

flutter - 如何在flutter项目中使用flutter.widgets的fork?