我正在尝试向本地服务器执行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
答案 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?