最近在做Flutter项目到了遇到一个无解的事情,当使用Image.network来加载一张需要https且需要校验证书的图片时,控制台就会报错提示证书问题之类的英文,我当时找了很久关于flutter图片加载设置校验证书的方法,无解了,最后不太好的方法是直接改Image.network加载图片的方法,看了源码原理是利用了httpclent,所以当时用了一种更简单粗暴的方式,在加载图片初始化httpclent时,直接忽略了httpclent ssl证书验证的方式,虽然这样不太好,但可以临时解决问题嘛!
Flutter原生网络请求httpclent
简单粗暴方式处理校验证书方法
_httpClient.badCertificateCallback = (X509Certificate cert,String host,int port){
return true;
};
Flutter比较流行的网络请求开源插件http
import 'package:http/http.dart' as http;
//简单粗暴方式处理校验证书方法
http.Client sslClient() {
var ioClient = new HttpClient()
..badCertificateCallback = (X509Certificate cert, String host, int port) => true;
http.Client _client = IOClient(ioClient);
return _client;
}
//调用get
sslClient().get(url)
//post
sslClient().post(url)
Flutter比较流行的网络请求开源插件dio
//简单粗暴方式处理校验证书方法
(_dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
client.badCertificateCallback=(X509Certificate cert, String host, int port){
// if(cert.pem==PEM){ // Verify the certificate
// return true;
// }
return true;
};
};
最后
希望在某些时候能够用得上,但是这样的做法却有一种失去https安全性的意义了,因此还是老老实实地加上证书校验方法吧!
分享到:
相关推荐
【Flutter】Dart 面向对象 ( get 方法 | set 方法 | 静态方法 ) https://hanshuliang.blog.csdn.net/article/details/113883540 博客源码快照
为了方便处理权限问题,Flutter社区提供了一系列插件,其中之一就是"Flutter权限处理插件"。这个插件旨在简化权限请求和检查的过程,使得开发者能更专注于应用的核心功能。 首先,让我们深入了解一下Flutter权限...
flutter简单应用 android studio上如何使用flutter简单明了
本项目“Flutter实现GPS轨迹滤波平滑处理”聚焦于如何使用Flutter框架来处理和优化GPS数据,以提供更流畅、精确的轨迹展示。我们将探讨以下几个主要知识点: 1. **Flutter框架**: Flutter是由Google开发的开源UI...
Flutter的Https证书固定 该项目基于 任何帮助表示赞赏! 评论,建议,问题,公关! 入门 在flutter或dart项目中添加依赖项: dependencies : ... http_certificate_pinning : 1.0.4 获取证书指纹 要获取SHA256...
Flutter下载更新App的方法示例 Flutter是一款跨平台的移动应用程序开发框架,通过使用Flutter可以快速构建高质量的移动应用程序。然而,在移动应用程序的开发过程中,更新应用程序是一个非常重要的步骤。那么,如何...
这个“一个简单的Flutter项目展示量身定制的原生体验”是一个很好的起点,它展示了如何利用Flutter创建具有高度原生感的应用程序,同时充分利用了Flutter的特性。 Flutter的主要优势在于其Dart编程语言,它的性能...
1.flutter-betterplayer最简单
在Flutter开发过程中,错误捕捉和处理是至关重要的,它能够帮助开发者及时发现并解决应用程序运行时出现的问题,提高用户体验。Flutter提供了内置的错误处理机制,但为了更有效地管理和记录错误,开发者通常会使用...
`flutter-sound`是一个强大的库,它为Flutter提供了音频播放、录制以及处理的功能。`flutter-sound-record`则是`flutter-sound`的一个子模块,专注于音频录制。这个库支持多种音频格式,如WAV、MP3等,并且可以在iOS...
有多种方法可以安装Flutter SDK,这里主要介绍使用VS Code安装的方法。 ##### 使用VS Code安装 1. **准备阶段**:确保已经安装了Visual Studio Code 1.77或更高版本,以及Flutter extension for VS Code。 2. **...
1. **一次编写,多平台运行**:Flutter最大的亮点之一就是其跨平台能力。使用同一套代码,可以同时构建iOS和Android应用,大大提高了开发效率。 2. **热重载**:Flutter提供了快速的热重载功能,开发者可以在几秒钟...
flutter游戏规则处理,flutter_window.h
flutter游戏规则处理,flutter_window.cpp
Flutter 后台管理框架是一款基于谷歌的 Flutter 技术构建的高效、易用的后台管理系统开发框架。这个框架的主要目标是让开发者能够更专注于业务逻辑的实现,而不是基础架构的搭建,从而提升开发效率,缩短项目周期。...
Flutter开发者帮助APP是一款专为Flutter开发者设计的辅助工具,它提供了130个常用Flutter组件的中文文档和示例演示,旨在帮助开发者更高效、更深入地理解和运用这些组件。这款APP不仅对于初学者友好,同时也对有经验...
在Flutter开发中,gRPC是一种高效、高性能的开源框架,用于构建可移植、类型安全的RPC(远程过程调用)系统。它基于HTTP/2协议,利用ProtoBuf(Protocol Buffers)作为接口定义语言,使得服务端和客户端可以跨语言...