json - Dart - 带有正文的 Http 获取请求
问题描述
我想使用 dart 发送一个带有 json body 的 HTTP GET 请求。我知道这是可能的,因为我过去做过,但找不到文件/重新编码。dart:http 之类的包不允许将正文与 GET 请求一起发送。
感谢帮助
解决方案
我不确定问题出在哪里,但我为 Dart VM 制作了这个示例,我猜它可以满足您的需求:
import 'dart:convert';
import 'dart:io';
Future<void> main(List arguments) async {
final response =
await getCallWithBody('http://localhost:8080', {"Key": "Value"});
response.forEach(print);
}
Future<List<String>> getCallWithBody(String address, Object object) async {
final client = HttpClient();
final request = await client.getUrl(Uri.parse(address));
request.contentLength = -1;
request.add(utf8.encode(json.encode(object)));
await request.flush();
return (await request.close())
.transform(utf8.decoder)
.transform(const LineSplitter())
.toList();
}
推荐阅读
- c# - 在 Visual Studio (c#) 中使用 mciSendString 同时播放多个声音
- python - 在发送 http 请求时让 PyQt5 标签动态更新
- python - 如何对信息进行分块抓取?
- python - 根据匹配的前两个字符查找两列之间的分钟差
- javascript - JQUERY:按类访问元素表亲
- haskell - 简明扼要地优先考虑 ghci 中的非 Prelude 函数
- react-native - React-Native Firestore 如何查询对象数组和索引
- ios - 如何拆分 UICollectionView 中的部分?
- jquery - 基于类使用jQuery设置文本颜色
- java - 如何使用 Apache 点燃 SqlQuery 与 Java 集