flutter中如何开启一个https的服务

使用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的代码就很简单了,也在上面的那个链接里。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • #简介 深入学习Flask作为RestFul服务端的架构思路。了解Flask设计哲学、应用场景。包含从开发环境搭建...
    爱睡觉的树阅读 2,581评论 0 1
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,079评论 2 59
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,610评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,232评论 4 8
  • 步骤:发微博01-导航栏内容 -> 发微博02-自定义TextView -> 发微博03-完善TextView和...
    dibadalu阅读 3,191评论 1 3