• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

flutter dio HandshakeException: Handshake error in client 解决方法,以和DefaultHttpClientAdapter红线问题。

武飞扬头像
weixin_45253306
帮助1

是证书问题导致,下面是强制认证


	import 'package:dio/dio.dart';
	import 'package:dio/adapter.dart';	// 导入这个包,添加DefaultHttpClientAdapter
	
	Response response;
    Dio dio = Dio();
    (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) {
      client.badCertificateCallback = (cert, host, port) {
        return true;	// 返回true强制通过
      };
    };
    try {
      response = await dio.get(
        url,
        options: Options(
          headers: {},
        ),
      );
    } catch (e) {
      print('错误');
      print(e);
    }
学新通

证书验证

	import 'package:dio/dio.dart';
	import 'package:dio/adapter.dart';	// 导入这个包,添加DefaultHttpClientAdapter
	
    Dio dio = Dio();
	String PEM='XXXXX'; // 你的地址证书内容
	(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate  = (client) {
	 client.badCertificateCallback=(X509Certificate cert, String host, int port){
	   if(cert.pem==PEM){ // 如果证书内容相同则验证通过
	     return true;
	   }
	   return false;
	 };
	};


这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgakkkg
系列文章
更多 icon
同类精品
更多 icon
继续加载