flutter - Flutter REST 调用超时
问题描述
我正在通过颤振对我的服务器进行 api 调用。我已经检查了我的 android 清单设置并放置了
<uses-permission android:name="android.permission.INTERNET"/>
但是,api 调用超时。这是我的电话:
Future driverLogin(userdetails) async {
var url = 'http://$_server/api/token/';
print(userdetails.values);
await http.post(url, body: json.encode(userdetails), headers: {
"Content-Type": "application/json"
}).then((http.Response response) {
print(response.body);
final Map<String, dynamic> responseData = json.decode(response.body);
Token tkn = Token.fromJSON(responseData);
_accessTkn = tkn.access;
_refreshTkn = tkn.refresh;
print('Refreshingly refreshed ${tkn.refresh}');
if (response.statusCode == 200) {
addToken(_accessTkn);
addRefresh(_refreshTkn);
print(responseData);
// tokenType = 'email';
print('Signed In');
// preformLogin();
} else {
// popupSwitch(2);
print('Error Could not sign in');
}
});
return _accessTkn;
}
当我运行它时,我收到此错误:
错误状态:平台不允许使用不安全的 HTTP:
解决方案
确保像这样导入。
import 'package:http/http.dart' as http;
让你的网址像这样。
var url = 'https://$_server/api/token/';
另请检查此链接可能会对您有所帮助
https://flutter.dev/docs/release/break-changes/network-policy-ios-android https://medium.com/flutter-community/solving-the-new-https-requirements-in-flutter-7abe240fbf23
推荐阅读
- css - 如何正确迁移到具有相同按钮颜色和字体的 Bootstrap5?
- reactjs - Strapi 富文本内容未在网页上正确显示
- events - Quasar 框架 v-on:input 什么都不做
- google-visualization - 单击时控件(类别过滤器)未正确更新表格图表
- javascript - 反应类继承
- angular - “ng”命令只能通过管理员 cmd 执行
- constraints - 如何添加约束以使只有一个非整数值?
- java - GlassFish 5.1.0 错误,因为 dcs 为空
- python - Pyspark:获取列名的子字符串
- laravel - 如何使用带有多个图像的 Ajax Call 在 laravel 8 中存储数据