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

如何在Insomnia中验证响应头属性?附状态与JSON验证示例

如何在Insomnia中校验响应头属性

当然可以用Insomnia校验响应头里的各类属性,包括Date、Server这类标准响应头,以及自定义响应头。你之前获取不到响应头数据,是因为用错了响应对象的属性名。

核心问题说明

Insomnia返回的响应对象中,响应头对应的属性是复数形式的headers,而非你代码里写的单数header。另外,所有响应头的键名都会被统一转为小写,不管接口返回的头是大写还是混合大小写格式。

正确的响应头校验示例

1. 校验Server响应头

// 发送请求获取响应
const response1 = await insomnia.send();

// 先校验响应状态码(保留你原来的逻辑)
expect(response1.status).to.equal(401);

// 正确获取并校验Server头
const serverHeader = response1.headers.server;
expect(serverHeader).to.equal('testServer');

2. 校验自定义响应头

比如接口返回了X-Custom-Info这个自定义头,代码里要转成小写的x-custom-info来获取:

// 校验自定义响应头
const customHeader = response1.headers['x-custom-info'];
expect(customHeader).to.equal('expected-value');

3. 校验Date响应头(格式校验)

const dateHeader = response1.headers.date;
// 校验Date头符合HTTP标准格式(比如 "Wed, 21 Oct 2015 07:28:00 GMT")
expect(dateHeader).to.match(/^\w{3}, \d{2} \w{3} \d{4} \d{2}:\d{2}:\d{2} GMT$/);

你之前的错误原因

你写的代码里用了response1.header(单数),但Insomnia响应对象里根本没有这个属性,所以header变量是undefined,自然读不到server值:

// 错误代码:属性名应为headers(复数)
const header = (response1.header);
const server = (header.server); // 此处header是undefined,导致server也为undefined
expect (server).to.equal('testServer');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 09:06:17