http - Flutter/Dart http 客户端 - 内容类型标头发送两次
问题描述
任何使用默认 Dart http 客户端的简单网络调用,例如,退出请求:
Future <void> signOut() async {
final body = jsonEncode(SignOutRequest()..deviceId = await DeviceId.getID);
String authHeader = globals.token.tokenType + " " + globals.token.accessToken;
await http.post(globals.url + '/auth/sign_out',
headers: {HttpHeaders.acceptHeader: globals.apiVersion,
HttpHeaders.contentTypeHeader: globals.apiVersion,
HttpHeaders.authorizationHeader: authHeader},
body: body);
}
从我看到的实际标题中可以看出:
accept:api-version
accept-encoding:gzip
authorization:bearer token
content-length:31
content-type:api-version; charset=utf-8
Content-Type:api-version; charset=utf-8
所以内容类型设置了 2 次(内容类型和内容类型)。如果我不设置任何内容类型,则 text/plain 设置两次。这是某种错误,还是有意的?
解决方案
推荐阅读
- python - python - 从生成器获取特定的生成器数据
- node.js - MongoError : BufBuilder 试图增长()到 67151256 字节,超过 64MB 限制
- database - MongoDb - 如果所有 insertMany 文档都写入单个分片,它是否有助于提高性能?
- angular - 无法在角度中设置未定义错误的属性“nUserId”
- sql - 将数据从 JSON 插入数据库表时避免使用多个 INSERT 语句
- xml - 找不到元素“xtce:SpaceSystem”的声明
- java - 如何使用 wildfly 在文件上记录运行时错误
- jenkins - 在 Jenkins 管道中使用参数切换
- angular - 'HttpEvent 类型的角参数
' 不可分配给参数 - networking - 数据包头字段如何在二进制流中排序?