You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter发送POST请求后如何获取HTTP响应头内的返回信息

解决方案

你当前使用的是Dart的http库,响应头是存放在Response实例的headers属性中,属于Map<String, String>类型,你需要先确认服务端返回的自定义详情消息对应的响应头键名,再从headers中取值即可。

正确示例代码

import 'package:http/http.dart' as http;

// 发送POST请求
var response = await http.post(
  Uri.parse('你的接口地址'),
  body: {/* 你的请求参数 */}
);

// 先校验响应状态避免空值
if (response.statusCode == 200) {
  // 获取响应头集合,http库默认会把所有响应头键名转为全小写
  Map<String, String> headers = response.headers;
  // 假设服务端存详情的响应头键名为x-detail-message,替换为你实际的键名即可
  var detailMessage = headers['x-detail-message'] ?? '无返回详情';
}

常见注意事项

  • 如果你开发的是Web端应用,跨域场景下自定义响应头需要服务端在Access-Control-Expose-Headers配置中添加对应的自定义头键名,否则浏览器会默认拦截禁止前端读取该响应头
  • 不要直接对Response对象使用下标取值,Response没有重载下标运算符,你之前的写法运行时会直接报错
  • 取值建议加判空处理,避免响应头缺失时出现空异常

内容的提问来源于stack exchange,提问作者ccd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:48:00