http - 为 http: ^0.12.0 包设置 ssl
问题描述
我想知道如何在 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();
推荐阅读
- c++ - 为什么我们不能在 C++ 中进行三向比较?
- python - 奶牛和公牛游戏一直在说 0 头牛,0 头公牛?
- python - 如何将登录重定向到Django中不同用户的不同页面?
- angular - Angular ngx-extended-pdf-viewer 禁用媒体打印属性
- node.js - 我想更新用户资料
- javascript - 在javascript按钮中分配html实体代码不起作用
- javascript - 我在从 create-react-app 项目连接 auth0 授权时遇到问题
- oracle-cloud-infrastructure - 终止的实例需要多长时间才能从控制台中删除?
- python-3.x - 获取div内的所有span
- java - Java API中“实现”和“所有实现的接口”之间的区别