Flutter设置允许HTTP访问

2,764 阅读1分钟

在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。


1 Android 中设置

在android目录下新建xml文件配置如下:

   \app\src\main\res\xml\network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
 
    <base-config cleartextTrafficPermitted="true" />
 
</network-security-config>

在这里插入图片描述

然后在清单文件 AndroidManifest.xml 中添加配置

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.glsite.qqloginweb">
 
    <uses-permission android:name="android.permission.INTERNET"/>
 
    <application
       ... ...
        android:networkSecurityConfig="@xml/network_security_config">
        <activity android:name=".MainActivity">
           ... ...
        </activity>
    </application>
 
</manifest>

在这里插入图片描述

2 iOS中设置

在 iOS9以上需要配置允许使用http访问,一般会有异常如下:

message = Bad state: Insecure HTTP is not allowed by platform: http://192.168.0.107:8080/user/login

在ios目录下info.plist里面增加App Transport Security Settings 属性,然后再在此属性内增加 Allow Arbitrary Loads ,并设置值未YES,如下图所示: 在这里插入图片描述 也可在 Flutter 项目目录下打开添加:

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

在这里插入图片描述