HTTP / 请求调试

HTTP 头转 JSON重复字段,逐条看清

粘贴一段请求头或响应头,检查字段、参数及重复值。两个示例分别展示请求与响应中的常见情况。

HTTP 头转 JSON

原始 HTTP 头

输入仅在当前浏览器处理;工具不发送请求,也不保存历史记录。

解析结果

请求行 / 状态行

GET /reports HTTP/1.1

Host

第 2 行
example.com

Accept

第 3 行
application/json, text/html;q=0.8, */*;q=0.1
参数详情
  • application/json权重(q): 1
  • text/html权重(q): 0.8
  • */*权重(q): 0.1

Accept-Language

第 4 行
en, ja;q=0.8, *;q=0
参数详情
  • en权重(q): 1
  • ja权重(q): 0.8
  • *权重(q): 0

Authorization

第 5 行已遮罩
[REDACTED]

X-Trace

第 6 行重复字段
first

x-trace

第 7 行重复字段
second

选项

仅遮罩结果和导出中的 Authorization、Proxy-Authorization、Cookie 与 Set-Cookie。原始输入仍可见,自定义密钥和 URL 中的秘密不会自动遮罩。

每次解析一个文本头块,最多 128 KiB UTF-8、1000 个字段。首个空行结束头部。

6 个字段 · 2 条重复项 · 0 条备注

用 HTTP 头转 JSON 整理抓包记录时,最容易丢掉的往往是同名字段。代理追加的第二条头部、带逗号的 Cookie 过期时间,都应成为排查线索,而不是被一个同名对象属性覆盖。

这套 HTTP 请求头解析工作台同时给出有序条目和按名称分组的数组。需要追溯来源时看行号,需要在脚本里按字段取值时用分组数组,不必先手动删改记录。

为什么使用 HTTP 头转 JSON

重复出现不等于可以覆盖

HTTP 头转 JSON 会保留两条 Set-Cookie,即使它们使用不同大小写也不会相互覆盖。Expires 日期中的逗号仍属于原值,不会被当成下一条 Cookie。这样才能看出中间层是否重复追加了字段。

两条同名头部在有序条目和分组列表中分别保留各自的彩色值。

复杂值按自身语法展开

Content-Disposition 中,文件名引号里的分号并不是参数分隔符。工具把原值与参数详情放在一起,便于核对 filename* 的解码结果;Accept 与 Accept-Language 则按原顺序显示候选值和权重。

一个复杂字段展开为文件名卡片和按顺序排列的参数卡片。

先读懂记录,再调整输出

01

选对示例再替换

请求示例展示媒体类型、语言权重和虚构令牌;响应示例展示扩展文件名及重复 Cookie。载入示例或清空前会显示替换预览及字符数量,应用后可撤销一次,同时恢复之前的输入与结果。

02

知道何时需要重跑

自动解析会等待输入停顿 350 毫秒。关闭后显示解析按钮,也可按 Ctrl/Cmd+Enter。修改字段名显示或输入会使结果过期,此时复制、下载禁用,直到当前参数成功解析。

03

核对导出的内容

遮罩默认开启,关闭后四种受保护字段会在结果和导出中显示原值。字段视图与 JSON 视图使用同一份报告;“再显示 50 项”只扩展预览,复制和下载始终包含完整结果。

字段之外,还能看到什么

两种结构同时保留

entries 按输入顺序记录字段行号、原名、显示名与值;grouped 使用同一名称首次出现的显示拼写作为键,每个键始终对应数组。即使字段只出现一次,也不变成类型不同的字符串。

文件名与扩展参数

解析 disposition 类型及全部参数。有效的 filename* 优先于 filename,支持 UTF-8 和 ISO-8859-1;重复参数或编码不受支持时给出备注,避免把不确定的文件名当成已确认结果。

媒体类型与语言偏好

Accept 按媒体范围展开,Accept-Language 按语言范围展开,保留参数和顺序。缺省 q 为 1,q=0 仍显示;超范围、过多小数位等无效权重在详情中记为 null,并保留原字段供排查。

错误位置可追溯

缺少冒号、字段名非法、行内控制字符或旧式折行会终止头块解析并定位源行列。三个专门解析字段的参数语法问题则作为备注显示,原字段继续保留,不会将部分成功伪装成完整转换。

解析范围与保留规则

一次只处理一个文本头块
首个结束头部的空行后,正文不再解析。多段响应请分别粘贴;不接受完整 cURL 命令、带日志前缀的输出、HAR 或二进制 HTTP/2 帧,也不反向生成头部。开发者工具中的 :method: GET 等文本伪头可以解析。
报告不代表协议校验通过
大小写选择只是显示方式,不保证该文本可直接作为线上的协议报文。工具不会验证令牌、评估 CORS 或 CSP,也不会根据 q 值决定服务器返回什么;附件文件名只作为数据展示,不会成为报告的下载文件名。
限制与遮罩都有明确范围
完整粘贴内容最多 128 KiB UTF-8,头部最多 1000 个字段,超限会报错而非截断。遮罩只覆盖四个指定名称,自定义认证字段、请求地址或其他值中的秘密仍需要自行检查后再分享。

HTTP 头转 JSON 常见问题

支持哪种 HTTP 头格式?

每行一个“名称: 值”,可带请求行或状态行,也支持文本形式的伪头。值中的冒号与空值会保留;旧式缩进续行会报错,请先在来源处整理为单行。

转换结果符合 JSON 标准吗?

符合。报告通过 JSON 序列化输出,包含 entries、grouped、首行和解析备注。它是检查报告,并非只有单值属性的请求配置对象,接入脚本时应按数组读取字段。

可以将 JSON 反转回 HTTP 头格式吗?

当前仅做头部到 JSON 的解析。遮罩后的值已经不是原始凭证,报告也保留了诊断信息,因此不会自动把它重放为网络请求。

支持多语言接口调试吗?

HTTP 响应头转 JSON 后可由 Python、JavaScript、Go、Java 等语言读取。请先根据字段用途处理重复数组,不要在接入程序时又只取最后一个值。

HTTP 标头到底区分大小写吗?

字段名匹配不区分大小写,所以 Content-Type 和 content-type 会归入同组;字段值的大小写不自动改变。原始模式保留逐条拼写,小写或首字母大写仅影响输出显示。

发现某个字段解析不正确?

整理下一段抓包记录

用 HTTP 头转 JSON 检查一次捕获的请求或响应,确认重复项与参数备注后,再把当前报告用于脚本测试或问题记录。