我是新来的,我正在学习颤栗,我需要用这个登录:
POST http://localhost:3000/api/users/session
但我仍然不能登录:(我在等待5分钟,仍然有一个加载屏幕,没有任何影响。
我试过了
所以我用这个教程制作了一个api_service https://www.youtube.com/watch?v=_Kw4BfNX1-4
这是我的api_service.dart
import 'package:http/http.dart' as http;
import 'dart:convert';
import '../model/login_model.dart';
class APIService {
Future<LoginResponseModel>
login(LoginRequestModel requestModel) async {
String url = "http://localhost:3000/api/users/session";
final response = await http.post(url, body: requestModel.toJson());
if (response.statusCode == 200 || response.statusCode == 400) {
return LoginResponseModel.fromJson(
json.decode(response.body),
);
} else {
throw Exception('Failed to load data!');
}
}
}
下面是调试控制台:
E/flutter (10967):Error: flutter/lib/ui/ui_dart_state.cc(186个)未处理异常: SocketException: OS错误:连接被拒绝,errno =111个,地址= localhost,端口= 58856 E/flutter (10967):
我试着用这个页面:https://medium.com/@podcoder/connecting-flutter-application-to-localhost-a1022df63130
我将字符串url = "http://localhost:3000/api/users/session";改为String = "http://10.0.2.2:3000/api/users/session";
在我的调试控制台中,我有完全不同的消息,但是仍然不能工作:
E/颤振(10967):
错误:flutter/lib/ui/ui_dart_state.cc(186)
未处理的异常:坏状态:平台不允许不安全的HTTP:http://10.0.2.2:3000/api/users/session
E/颤振(10967):#0 _HttpClient._openUrl (dart:_http_INPRIN.DAT:2434:7)
E/颤振(10967):#1 _HttpClient.openUrl (dart:_http_INPRIN.DAT:2341:7)
(10967):#2 IOClient.send包:http/src/io_client.dart:31
(...)到#28和最后一个ist E/颤振(10967):
发布于 2021-05-21 16:52:55
修正了错误未处理的异常:坏状态:平台不允许不安全的HTTP
因此,您应该使用android:usesCleartextTraffic https或在AndroidManifest中将设置为true。
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name="io.flutter.app.FlutterApplication"
android:label="receipt"
android:usesCleartextTraffic="true" // Add this line
android:icon="@mipmap/ic_launcher">
https://stackoverflow.com/questions/67641284
复制相似问题