Flutter WebView无法加载HTTP请求

在做flutter webview嵌入页面请求时,发现调用请求后,页面不能加载,但是把请求的url改成的百度的链接,就可用,所以,判断是调用http和https的问题。估计是高版本访问权限的问题。插件用的是 webview_flutter: ^0.3.21

看下怎么解决:
1、iOS添加信任
webview_flutter 在使用过程中会iOS出现无法加载HTTP请求的情况, 但是Flutter 却可以加载HTTP请求。这就与两个的框架有关了,Flutter是独立于UIKit框架的。

解决方案就是在iOS 的info.plist中添加对HTTP的信任。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

2、android添加信任
安卓端 9.0之前的系统,使用过程中并未发生异常。 9.0之后,也不支持HTTP,同样也得添加信任
第一步:在清单文件AndroidManifest.xml的application标签里面设置networkSecurityConfig属性如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application android:networkSecurityConfig="@xml/network_security_config">
         <!-- ... -->
    </application>
</manifest>

在这里插入图片描述
第二步:在资源文件夹res/xml下面创建network_security_config.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

结束

猜你喜欢

转载自blog.csdn.net/fclwd/article/details/107090889