Flutter 如何将http.dart连接更改为SSL HTTPS

Flutter 如何将http.dart连接更改为SSL HTTPS,flutter,dart,Flutter,Dart,我支持正常的http连接。有人知道如何在http调用中实现证书检查以便我可以使用SSL吗?我似乎找不到一个明确的答案,如何做到这一点 以下是我的应用程序中的连接示例: import 'package:http/http.dart' as http; String url = "https://www.mywebsite.com"; print("Firing off url: ${url}"); var request = http.

我支持正常的http连接。有人知道如何在http调用中实现证书检查以便我可以使用SSL吗?我似乎找不到一个明确的答案,如何做到这一点


以下是我的应用程序中的连接示例:

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


  String url = "https://www.mywebsite.com";
  print("Firing off url: ${url}");
  var request = http.MultipartRequest("POST", Uri.parse("${url}"));
  //cert check here maybe?



  //add POST fields
  request.fields["lookup"] = "true";
  request.fields["email"] = "blah@test.com";
  request.fields["user_id"] = "1337";

  var response = await request.send();
  var responseData = await response.stream.toBytes();
  var responseString = String.fromCharCodes(responseData);
  print('================================');
  print("response was: ${responseString}");
  if (response.statusCode == 200) {
    var json_data = json.decode(responseString);
    for (var u in json_data) {
      print(u["response"]);
    }
  }

http
包在后台使用
dart:io
。这是IO库中内置的飞镖

当您与
http
包建立https连接时,它使用绑定到系统证书/信任存储的
SecurityContext
()。这适用于大多数操作系统。如果操作系统没有本机信任存储,则使用

由于您将问题标记为Flatter,Android和iOS都包含Dart使用的本机信任存储

如果要信任不同的证书,可以操作
SecurityContext
并添加/删除受信任的证书


这也可以帮助您理解它是如何工作的:

您试过了吗?不清楚您的意思,https是开箱即用的,可以验证服务器证书。@kuhnroyal但是它如何知道什么是“好”证书而不需要检查呢?