Flutter web_view不能访问http的解决办法

本文介绍了解决Flutter WebView在iOS和Android 9.0+上无法访问HTTP页面的问题。通过在AndroidManifest.xml中设置networkSecurityConfig属性,并在network_security_config.xml中允许非HTTPS流量,实现了对HTTP请求的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


最近在使用Flutter的插件web_view的时候,出现了打开http网页不能正常访问,但是可以访问https的网页,经过一阵搜索,找到了答案

原因

IOS和Android 9.0+对非HTTPS请求做了一些限制,不能直接访问Http请求,在Android中会出现net:ERR_CLEARTEXT_NOT_PERMITTED的错误

解决办法

在Android中添加信任,详细步骤如下:

  • 在清单文件AndroidManifest.xml的Application的标签里面设置networkSecurityConfig属性,代码如下:

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

    如下图所示:错误

  • 在src/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>
    

    如下图所示:错误

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值