flutter中如何开启一个https的服务
2021-07-07 本文已影响0人
坑吭吭
使用bindSecure 去创建一个 HTTPS server.
服务将会提供一个证书给客户端。这个证书链和私钥在 SecurityContext 里面设置,这个对象通过 bindSecure方法进行调用.
import 'dart:io';
import "dart:isolate";
main() {
SecurityContext context = new SecurityContext();
var chain =
Platform.script.resolve('certificates/server_chain.pem')
.toFilePath();
var key =
Platform.script.resolve('certificates/server_key.pem')
.toFilePath();
context.useCertificateChain(chain);
context.usePrivateKey(key, password: 'dartdart');
HttpServer
.bindSecure(InternetAddress.anyIPv6,
443,
context)
.then((server) {
server.listen((HttpRequest request) {
request.response.write('Hello, world!');
request.response.close();
});
});
}
这里证书和key都是pem文件,他们可以通过OpenSSL工具进行生成。
原文链接:https://api.dart.dev/be/180499/dart-io/HttpServer-class.html#id_bindSecure
闲话:好久没写新文章了,最近项目中用到需要在手机上搭一个小服务器的功能,且这个服务器要支持https,百度了好久也没有找到能直接有帮助的文章,特此在这记录一下,亲测可用。普通的不支持https的代码就很简单了,也在上面的那个链接里。