无法识别的功能

时间:2020-09-19 16:34:30

标签: flutter flutter-http

我正在尝试向本地服务器执行http请求,但收到以下I / flutter(28338)错误消息:错误状态:平台不允许使用不安全的HTTP:http: // mylocalip / auth / login,有人知道如何解决吗?

注意:我也正在使用模块化的颤振器和mobx

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, 1.22.0-10.0.pre.251, on Microsoft
    Windows [versão 10.0.19041.508], locale pt-BR)

[√] Android toolchain - develop for Android devices (Android
    SDK version 30.0.2)
[√] Android Studio (version 4.0)
[√] Connected device (1 available)

• No issues found!
I'm trying to make a request to a local http server, the request is a post for a login system that receives username and password by parameter

login() async {
try {
  var response = await http.post(http://mylocalip/auth/login,
      body: {'username': 'maximosdrr', 'password': '621251'});
  print(response.statusCode);
} catch (e) {
  print(e);
}
}

控制台上的输出如下:I / flutter(28338):错误状态:平台不允许使用不安全的HTTP:http:// mylocalip / auth / login

1 个答案:

答案 0 :(得分:0)

要临时解决您的问题。首先在res / xml(我的完整路径为/Users/dolphin/source/third-party/Cruise/android/app/src/main/res/xml)文件夹中添加配置:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

然后在您的AndroidManifest.xml文件中添加以下配置:

android:networkSecurityConfig="@xml/network_security_config"

这可能允许http流量。但是它只是用来调试,最好的方法是使用https流量。更多信息:How to allow all Network connection types HTTP and HTTPS in Android (9) Pie?