代码之家  ›  专栏  ›  技术社区  ›  atreeon

如何初始化httpserver以在flatter-net::ERR\u CLEARTEXT\u NOT\u中提供html

  •  0
  • atreeon  · 技术社区  · 7 年前

    我用这个作为例子

    https://medium.com/@segaud.kevin/facebook-oauth-login-flow-with-flutter-9adb717c9f2e

    创建一个http服务器,将html提供给webview(作为一种提供它引用的本地html文件和本地javascript文件的方式)。它在加载webview时返回net::ERR\u CLEARTEXT\u NOT\u allowed

    void main() async {
      HttpServer server = await HttpServer.bind("localhost", 8080);
      server.listen((HttpRequest request) async {
        request.response
          ..statusCode = 200
          ..headers.set("Content-Type", ContentType.html.mimeType)
          ..write("<html><h1>Hello</h1></html>");
      });
    ...
    
    class DemoFlutterWebView3 extends StatefulWidget {
      _DemoFlutterWebViewState3 createState() => _DemoFlutterWebViewState3();
    }
    
    class _DemoFlutterWebViewState3 extends State<DemoFlutterWebView3> {
      Widget build(BuildContext context) {
        return WebView(
            javascriptMode: JavascriptMode.unrestricted,
            initialUrl: "http://localhost:8080/");
      }
    }
    

    我注意到了 WebView showing ERR_CLEARTEXT_NOT_PERMITTED although site is HTTPS 并添加了android:使用ClearTextTraffic=对清单文件为“真”(这里猜!)但它什么也没做。

    你知道为什么会出现这个错误,或者用其他方式显示一个引用javascript文件的html文件吗?

    0 回复  |  直到 7 年前