Flutter&Dart

哥哥教你解决Flutter中原生HttpClient,第三方Ht

2019-07-15  本文已影响6人  哥哥是欧巴Vitory

Flutter请求Https出现问题如下:

 报错原因就是证书不被信任,那么为了解决这个问题就需要强行信任:

步骤一:

如果你使用的是Flutter中自带的Httpclient,那么代码如下:

HttpClient client = HttpClient();

//badcertificatecallback 返回值为true就可以解决问题了

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

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

步骤二:

如果你使用的是第三方的http包,遇到这个问题可以通过以下方式解决:

import 'dart:io';

import 'package:http/http.dart' as http;

bool _certificateCheck(X509Certificate cert, String host, int port) =>

    host == 'devblog.paypal.com';

http.ClientpaypalClient(){

  var ioClient = new HttpClient()

      ..badCertificateCallback = _certificateCheck;

  return new http.IOClient(ioClient);

}

为其设置一个IOCliient既可以解决了。

但Flutter一直在更新,所以IOClient被移动了。

import'package:http/io_client.dart';

varioClient =newHttpClient() 

 ..badCertificateCallback = _certificateCheck;

 _client = IOClient(ioClient);

上一篇下一篇

猜你喜欢

热点阅读