Android11+上的HttpGET在Flutter中不可用。
创始人
2024-08-20 09:01:00
0

在Flutter中使用Http GET请求Android 11+上的数据,需要在AndroidManifest.xml文件中添加两个权限,并在Android代码中使用NetworkPolicy来解决问题。以下是示例代码:

AndroidManifest.xml文件:

...

network_security_config.xml文件:

example.com

Flutter代码:

import 'dart:io';

Future getData() async { HttpClient client = HttpClient(); client.badCertificateCallback = ((X509Certificate cert, String host, int port) => true);

final response = await client.getUrl(Uri.parse("https://example.com/data.json")) .then((HttpClientRequest request) => request.close()) .then((HttpClientResponse response) => response) .catchError((error) { throw error; });

if (response.statusCode != 200) { throw Exception('Failed to load data'); }

final responseBody = await response.transform(utf8.decoder).join(); print(responseBody); }

这里的getData函数使用了HttpClient来发起Http GET请求。在创建HttpClient实例之前,必须为此实例设置badCertificateCallback,以便在测试环境下,忽略证书错误。在getUrl()方法中,我们需要传递一个Uri参数,该参数是我们接收数据的地址。请求销毁后,我们需要调用response()来返回Http响应。最后我们需要将响应主体(response body)转换成字符串以查看结果。

相关内容

热门资讯

安装Pillow时遇到了问题:... 遇到这个问题,可能是因为缺少libwebpmux3软件包。解决方法是手动安装libwebpmux3软...
安装React Native时... 当安装React Native时出现构建错误的情况,可以尝试以下解决方法:确保已经安装了最新版本的C...
安装Python库"... 安装Python库"firedrake"的解决方法如下:打开终端或命令提示符(Windows系统)。...
安装Rails时构建webso... 在安装Rails时,如果构建websocket-driver时发生错误,可以尝试以下解决方法:更新系...
安装react-native-... 要安装react-native-onesignal并在应用关闭时仍能接收通知,可以按照以下步骤进行:...
按转换模式过滤日志【%t】。 要按照转换模式过滤日志,可以使用正则表达式来实现。下面是一个示例代码,使用Java语言的Patter...
Apache Nifi在Kub... Apache Nifi可以在Kubernetes上运行,并且已经准备好用于生产环境。下面是一个使用H...
安装ug未能链接到许可证服务器 安装UG未能链接到许可证服务器是UG用户在安装软件时常遇到的问题之一。该问题的解决方法需要技术向的知...
安装React-Scripts... 这是因为React-Scripts使用Facebook工具包中的一些脚本。 joinAdIntere...
安装React Native时... 安装React Native时可能会出现各种错误,下面是一些常见错误和解决方法的代码示例:Error...