Api 如何使用flatter从https获取数据
我已经用ASP.net core编写了API,我想用Flatter从中获取数据,但我的代码有如下错误:Api 如何使用flatter从https获取数据,api,android-studio,asp.net-core,flutter,Api,Android Studio,Asp.net Core,Flutter,我已经用ASP.net core编写了API,我想用Flatter从中获取数据,但我的代码有如下错误: E/flutter (10049): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: HandshakeException: Handshake error in client (OS Error: E/flutter (10049): CERTIFICATE_VERIFY_FAILED: unable t
E/flutter (10049): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: HandshakeException: Handshake error in client (OS Error:
E/flutter (10049): CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:354))
E/flutter (10049): #0 IOClient.send (package:http/src/io_client.dart:33:24)
E/flutter (10049): <asynchronous suspension>
E/flutter (10049): #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:176:38)
E/flutter (10049): #2 BaseClient.get (package:http/src/base_client.dart:35:7)
E/flutter (10049): #3 get.<anonymous closure> (package:http/http.dart:46:36)
E/flutter (10049): #4 _withClient (package:http/http.dart:166:20)
E/flutter (10049): #5 get (package:http/http.dart:46:5)
E/flutter (10049): #6 APIServices.fetchStudent (package:aspapi/models/api.services.dart:9:12)
E/flutter (10049): #7 _StudentsState.getStudents (package:aspapi/ui/students.dart:17:19)
E/flutter (10049): #8 _StudentsState.build (package:aspapi/ui/students.dart:32:5)
E/flutter (10049): #9 StatefulElement.build (package:flutter/src/widgets/framework.dart:4619:28)
E/flutter (10049): #10 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4502:15)
E/flutter (10049): #11 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11)
E/flutter (10049): #12 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #13 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4481:5)
E/flutter (10049): #14 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4666:11)
E/flutter (10049): #15 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5)
E/flutter (10049): #16 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
E/flutter (10049): #17 Element.updateChild (package:flutter/src/widgets/framework.dart:3214:18)
E/flutter (10049): #18 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter (10049): #19 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #20 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4481:5)
E/flutter (10049): #21 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5)
E/flutter (10049): #22 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
E/flutter (10049): #23 Element.updateChild (package:flutter/src/widgets/framework.dart:3214:18)
E/flutter (10049): #24 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter (10049): #25 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #26 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4481:5)
E/flutter (10049): #27 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5)
E/flutter (10049): #28 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
E/flutter (10049): #29 Element.updateChild (package:flutter/src/widgets/framework.dart:3214:18)
E/flutter (10049): #30 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter (10049): #31 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #32 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4481:5)
E/flutter (10049): #33 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5)
E/flutter (10049): #34 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
E/flutter (10049): #35 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5947:32)
E/flutter (10049): #36 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
E/flutter (10049): #37 Element.updateChild (package:flutter/src/widgets/framework.dart:3214:18)
E/flutter (10049): #38 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter (10049): #39 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11)
E/flutter (10049): #40 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #41 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4481:5)
E/flutter (10049): #42 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4666:11)
E/flutter (10049): #43 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5)
E/flutter (10049): #44 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
E/flutter (10049): #45 Element.updateChild (package:flutter/src/widgets/framework.dart:3214:18)
E/flutter (10049): #46 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527
Debug service listening on ws://127.0.0.1:8773/6hBnRZt2y-g=/ws
Syncing files to device Android SDK built for x86...
E/flutter (10049): [ERROR:flutter/shell/common/shell.cc(202)] Dart Error: Unhandled exception:
E/flutter (10049): HandshakeException: Handshake error in client (OS Error:
E/flutter (10049): CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:354))
E/flutter (10049): #0 IOClient.send (package:http/src/io_client.dart:33:24)
E/flutter (10049): <asynchronous suspension>
E/flutter (10049): #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:176:38)
E/flutter (10049): #2 BaseClient.get (package:http/src/base_client.dart:35:7)
E/flutter (10049): #3 get.<anonymous closure> (package:http/http.dart:46:36)
E/flutter (10049): #4 _withClient (package:http/http.dart:166:20)
E/flutter (10049): #5 get (package:http/http.dart:46:5)
E/flutter (10049): #6 APIServices.fetchStudent (package:aspapi/models/api.services.dart:9:12)
E/flutter (10049): #7 _StudentsState.getStudents (package:aspapi/ui/students.dart:17:19)
E/flutter (10049): #8 _StudentsState.build (package:aspapi/ui/students.dart:32:5)
E/flutter (10049): #9 StatefulElement.build (package:flutter/src/widgets/framework.dart:4619:28)
E/flutter (10049): #10 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4502:15)
E/flutter (10049): #11 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11)
E/flutter (10049): #12 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #13 StatefulElement.update (package:flutter/src/widgets/framework.dart:4707:5)
E/flutter (10049): #14 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15)
E/flutter (10049): #15 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter (10049): #16 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #17 StatelessElement.update (package:flutter/src/widgets/framework.dart:4583:5)
E/flutter (10049): #18 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15)
E/flutter (10049): #19 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter (10049): #20 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #21 ProxyElement.update (package:flutter/src/widgets/framework.dart:4862:5)
E/flutter (10049): #22 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15)
E/flutter (10049): #23 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter (10049): #24 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #25 ProxyElement.update (package:flutter/src/widgets/framework.dart:4862:5)
E/flutter (10049): #26 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15)
E/flutter (10049): #27 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5522:32)
E/flutter (10049): #28 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5957:17)
E/flutter (10049): #29 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15)
E/flutter (10049): #30 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter (10049): #31 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11)
E/flutter (10049): #32 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #33 StatefulElement.update (package:flutter/src/widgets/framework.dart:4707:5)
E/flutter (10049): #34 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15)
E/flutter (10049): #35 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter (10049): #36 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #37 ProxyElement.update (package:flutter/src/widgets/framework.dart:4862:5)
E/flutter (10049): #38 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15)
E/flutter (10049): #39 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16)
E/flutter (10049): #40 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11)
E/flutter (10049): #41 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
E/flutter (10049): #42 StatefulElement.update (package:flutter/src/widgets/framework.dart:4707:5)
E/flutter (10049): #43 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15)
E/flutter (10049): #44 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5837:14)
E/flutter (10049): #45 Element.updateChild (package:flutter/src/widgets/framework.dart:3201:15)
E/flutter (10049): #46 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4527:16
<application
...
android:networkSecurityConfig="@xml/network_security_config">
static Future fetchStudent() async{
Dio dio = Dio();
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
(client){
client.badCertificateCallback = (X509Certificate cert,String host,int port) => true;
return client;
};
Response response = await dio.get(https://10.0.2.2:5001/api/student);
return response.data;
}
E/flatter(10049):[错误:flatter/lib/ui/ui\u dart\u state.cc(157)]未处理的异常:握手异常:客户端握手错误(操作系统错误:
E/flatter(10049):证书\验证\失败:无法获取本地颁发者证书(handshake.cc:354))
E/flatter(10049):#0 IOClient.send(包:http/src/io_client.dart:33:24)
E/颤振(10049):
E/flatter(10049):#1个BaseClient._sendUnstreamed(包:http/src/base_client.dart:176:38)
E/flatter(10049):#2 BaseClient.get(包:http/src/base_client.dart:35:7)
E/颤振(10049):#3获得。(软件包:http/http.dart:46:36)
E/flatter(10049):#4 34;与客户端(包:http/http.dart:166:20)
E/flatter(10049):#5get(包:http/http.dart:46:5)
E/flatter(10049):#6 APIServices.fetchStudent(包:aspapi/models/api.services.dart:9:12)
E/flatter(10049):#7#StudentsState.getStudents(包:aspapi/ui/students.dart:17:19)
E/flatter(10049):#8#StudentsState.build(包:aspapi/ui/students.dart:32:5)
E/flatter(10049):#9 StatefulElement.build(包:flatter/src/widgets/framework.dart:4619:28)
E/flatter(10049):#10 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4502:15)
E/flatter(10049):#11 stateflement.performRebuild(包:flatter/src/widgets/framework.dart:4675:11)
E/flatter(10049):#12 Element.rebuild(包:flatter/src/widgets/framework.dart:4218:5)
E/flatter(10049):#13组件元素。_firstBuild(包:flatter/src/widgets/framework.dart:4481:5)
E/flatter(10049):#14 StatefulElement._firstBuild(包:flatter/src/widgets/framework.dart:4666:11)
E/flatter(10049):#15 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4476:5)
E/flatter(10049):#16 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3446:14)
E/flatter(10049):#17 Element.updateChild(包:flatter/src/widgets/framework.dart:3214:18)
E/flatter(10049):#18 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4527:16)
E/flatter(10049):#19 Element.rebuild(包:flatter/src/widgets/framework.dart:4218:5)
E/flatter(10049):#20组件元素。firstBuild(包:flatter/src/widgets/framework.dart:4481:5)
E/flatter(10049):#21 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4476:5)
E/flatter(10049):#22 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3446:14)
E/flatter(10049):#23 Element.updateChild(包:flatter/src/widgets/framework.dart:3214:18)
E/flatter(10049):#24 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4527:16)
E/flatter(10049):#25 Element.rebuild(包:flatter/src/widgets/framework.dart:4218:5)
E/flatter(10049):#26组件元素。_firstBuild(包:flatter/src/widgets/framework.dart:4481:5)
E/flatter(10049):#27 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4476:5)
E/flatter(10049):#28 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3446:14)
E/flatter(10049):#29 Element.updateChild(包:flatter/src/widgets/framework.dart:3214:18)
E/flatter(10049):#30 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4527:16)
E/flatter(10049):#31 Element.rebuild(包:flatter/src/widgets/framework.dart:4218:5)
E/flatter(10049):#32组件元素。_firstBuild(包:flatter/src/widgets/framework.dart:4481:5)
E/flatter(10049):#33 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4476:5)
E/flatter(10049):#34 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3446:14)
E/flatter(10049):#35 multi-childrenderobjectelement.mount(包:flatter/src/widgets/framework.dart:5947:32)
E/flatter(10049):#36 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3446:14)
E/flatter(10049):#37 Element.updateChild(包:flatter/src/widgets/framework.dart:3214:18)
E/flatter(10049):#38 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4527:16)
E/flatter(10049):#39 stateflement.performRebuild(包:flatter/src/widgets/framework.dart:4675:11)
E/flatter(10049):#40 Element.rebuild(包:flatter/src/widgets/framework.dart:4218:5)
E/flatter(10049):#41组件元素。_firstBuild(包:flatter/src/widgets/framework.dart:4481:5)
E/flatter(10049):#42 StatefulElement._firstBuild(包:flatter/src/widgets/framework.dart:4666:11)
E/flatter(10049):#43 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4476:5)
E/flatter(10049):#44 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3446:14)
E/flatter(10049):#45 Element.updateChild(包:flatter/src/widgets/framework.dart:3214:18)
E/flatter(10049):#46 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4527
在ws://127.0.0.1:8773/6hBnRZt2y-g=/ws上侦听调试服务
正在将文件同步到为x86构建的Android SDK设备。。。
E/flatter(10049):[错误:flatter/shell/common/shell.cc(202)]省道错误:未处理的异常:
E/颤振(10049):握手异常:客户端握手错误(操作系统错误:
E/flatter(10049):证书\验证\失败:无法获取本地颁发者证书(handshake.cc:354))
E/flatter(10049):#0 IOClient.send(包:http/src/io_client.dart:33:24)
E/颤振(10049):
E/flatter(10049):#1个BaseClient._sendUnstreamed(包:http/src/base_client.dart:176:38)
E/flatter(10049):#2 BaseClient.get(包:http/src/base_client.dart:35:7)
E/flatter(10049):#3 get(包:http/http.dart:46:36)
E/flatter(10049):#4 34;与客户端(包:http/http.dart:166:20)
E/flatter(10049):#5get(包:http/http.dart
android:networkSecurityConfig="@xml/network_security_config"
<application
...
android:networkSecurityConfig="@xml/network_security_config">
static Future fetchStudent() async{
Dio dio = Dio();
(dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
(client){
client.badCertificateCallback = (X509Certificate cert,String host,int port) => true;
return client;
};
Response response = await dio.get(https://10.0.2.2:5001/api/student);
return response.data;
}