Flutter 如何将http.dart连接更改为SSL HTTPS
我支持正常的http连接。有人知道如何在http调用中实现证书检查以便我可以使用SSL吗?我似乎找不到一个明确的答案,如何做到这一点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.
以下是我的应用程序中的连接示例:
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但是它如何知道什么是“好”证书而不需要检查呢?