颤振:"Unhandled Exception: NoSuchMethodError: The getter 'httpClientAdapter' was called on null."



我正试图在Flutter上使用dio,但我不得不忽略证书验证,所以我对代码进行了一些更改,结果出现了错误:

E/flutter (21674): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: NoSuchMethodError: The getter 'httpClientAdapter' was called on null.
E/flutter (21674): Receiver: null
E/flutter (21674): Tried calling: httpClientAdapter

有人能帮我修吗?我正在使用的功能:

Future<void> _login3() async {
Dio dio;
if (Platform.isAndroid) {
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
(client) {
client.badCertificateCallback =
(X509Certificate cert, String host, int port) => true;
return client;
};
}
Response response =
await Dio().get("https://sistema.hutransportes.com.br/api/login.php");
// Response response;
response =
await dio.post("/test", data: {"user": "renato", "password": "123456"});
print(response.data.toString());
}

这应该很容易通过遍历代码来解决。我建议在这个方法的第一行设置一个断点,在查看答案之前进行调试,应该很清楚发生了什么。异常的消息还具体说明了哪里出了问题。

在尝试访问上的属性之前,您尚未新建Dio的实例该变量。Dio dio创建变量,但值为null。在下一个您尝试访问null值的httpClientAdapter属性的行理所当然地抛出一个异常。通过将第一行更改为Dio dio = Dio();来解决此问题

相关内容

  • 没有找到相关文章

最新更新