Flutter设置允许HTTP访问

来源:blog.csdn.net 更新时间:2023-05-25 21:55

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


1 Android 中设置

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

   \app\src\main\res\xml\network_security_config.xml
  • 1
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
 
    <base-config cleartextTrafficPermitted="true" />
 
</network-security-config>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

然后在清单文件 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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

2 iOS中设置

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

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

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

	<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSAllowsArbitraryLoads</key>
		<true/>
	</dict>
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述