Flutter web_view不能訪問http的解決辦法


最近在使用Flutter的插件web_view的時候,出現了打開http網頁不能正常訪問,但是可以訪問https的網頁,經過一陣搜索,找到了答案

原因

IOS和Android 9.0+對非HTTPS請求做了一些限制,不能直接訪問Http請求,在Android中會出現net:ERR_CLEARTEXT_NOT_PERMITTED的錯誤

 

解決辦法

在清單文件\android\app\src\main\AndroidManifest.xml的Application的標簽里面設置networkSecurityConfig屬性,代碼如下:

1 <?xml version="1.0" encoding="utf-8"?>
2     <manifest ... >
3         <application android:networkSecurityConfig="@xml/network_security_config">
4             <!-- ... -->
5         </application>
6     </manifest>

 

如下圖所示:

 

在src/res/xml下面創建network_security_config.xml,配置如下所示:

1 <?xml version="1.0" encoding="utf-8"?>
2     <network-security-config>
3         <base-config cleartextTrafficPermitted="true">
4             <trust-anchors>
5                 <certificates src="system" />
6             </trust-anchors>
7         </base-config>
8     </network-security-config>

如下圖所示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM