Flutter InAppWebView 如何禁用跨源策略?

Cha*_*n'd 7 android cross-domain same-origin-policy flutter flutter-inappwebview

我正在使用 InAppWebView 通过监听 onLoadResource 来制作视频下载应用程序,甚至抓取用户播放的视频并在 iframe 中删除视频,由于跨源政策,我无法获取 iframe 中的 url (.mp4, .m3u8......),我确实将allowUniversalAccessFromFileURLs和allowFileAccessFromFileURLs设置为true,但没有结果我无法获取iframe调用的资源:/,这是我的初始选项:

initialOptions: InAppWebViewGroupOptions(
                  android: AndroidInAppWebViewOptions(
                    supportMultipleWindows: true,
                    offscreenPreRaster: true,
                    allowUniversalAccessFromFileURLs: true,
                    allowFileAccessFromFileURLs: true,
                  ),
                  crossPlatform: InAppWebViewOptions(
                    useOnLoadResource: true,
                    debuggingEnabled: true,
                    userAgent:
                        "Mozilla/5.0 (Linux; Android 9; Redmi Note 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Mobile Safari/537.36",
                    javaScriptEnabled: true,
                    javaScriptCanOpenWindowsAutomatically: true,
                  )),
        
Run Code Online (Sandbox Code Playgroud)

如果任何非常熟悉 inappwebview 或 flutter 的人能告诉我如何在 flutter 中禁用跨源策略或如何在不使用代理的情况下监听我的应用程序 http 请求...,我将不胜感激

小智 0

url 无法加载的原因有很多,在我的例子中,我得到了 Uncaught (inpromise) TypeError: Failed to fetch,因为我必须拦截请求,结果发现 webview 不验证 SSL 证书

initialOptions: InAppWebViewGroupOptions(
    android: AndroidInAppWebViewOptions(
    useShouldInterceptRequest: true, 
    ),
)

androidShouldInterceptRequest: 
(controller, request) async {
    print("request $request");
}
Run Code Online (Sandbox Code Playgroud)

忽略 ssl 证书错误

onReceivedServerTrustAuthRequest: (controller, challenge) async {
    print("challenge $challenge");
    return ServerTrustAuthResponse(action: 
ServerTrustAuthResponseAction.PROCEED);
}
Run Code Online (Sandbox Code Playgroud)