Flutter https证书问题

作者: JarvanMo | 来源:发表于2018-08-28 13:45 被阅读148次

    转载请标明原文出处。
    最近在开发Fluwx,在调试微信支付的时候,遇到了一个异常:

    certificate_verify_failed: unable to get local issuer certificate
    

    其请求代码如下:

    HttpClient client = HttpClient();
    var request = await client.getUrl(Uri.parse("https://wxpay.wxutil.com/pub_v2/app/app_pay.php"));
    

    原因就是证书不被信任。为了解决这个问题需要强行信任:

    client.badCertificateCallback = callback(X509Certificate cert, String host, int port){
          return true;
        }
    

    badCertificateCallback返回值为true就可以解决问题了。
    有的同学可能用的是http包,如果同样遇到这个问题可以通过如下的方式解决:

    import 'dart:io';
    import 'package:http/http.dart' as http;
    
    bool _certificateCheck(X509Certificate cert, String host, int port) =>
        host == 'devblog.paypal.com';
    
    http.Client paypalClient() {
      var ioClient = new HttpClient()
          ..badCertificateCallback = _certificateCheck;
      
      return new http.IOClient(ioClient);
    }
    

    为其设置一个IOClient就可以解决问题了。
    怎么样,问题解决了吗?

    相关文章

      网友评论

        本文标题:Flutter https证书问题

        本文链接:https://www.haomeiwen.com/subject/orvfwftx.html