跳到主要内容

HTTP 头转换实战:把请求头转 JSON 对象与 curl -H 参数

把粘贴的一堆 HTTP 请求头批量转成 JSON 对象、curl -H 参数或 fetch 代码,全程浏览器本地处理。适合调试转代码、写接口文档和清理日志头部的开发者参考。

发布于 作者 李雷
#HTTP #请求头 #JSON #curl #开发工具

HTTP 头转换实战:把请求头转 JSON 对象与 curl -H 参数

调试接口时,我经常对着一堆从浏览器开发者工具里复制出来的请求头发愁。它们长这样:每行一个 Name: value,几十行混在一起,要塞进代码里得手工加引号、加逗号、改成对象字面量。手工抄一次还行,一天抄五次就开始漏分号。后来我把这一步交给 HTTP 头列表转换器,把这堆原始文本转成 JSON 对象、curl 参数或 fetch 代码,省下的就是这种重复劳动。

原始请求头长什么样

从 Chrome 的 Network 面板,或者 Postman 的 Headers 标签复制出来的头部,通常是这种纯文本形式:

Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1Ni
Content-Type: application/json
Accept: application/json
X-Request-Id: 7f3a9c

这种格式人能看,但代码不能直接吃。要在 JavaScript 里发请求,得把它变成对象;要在终端里复现,得变成一串 -H 参数。两种目标格式手工拼都容易出错,尤其是 value 里带冒号或空格的时候。

键值对转 JSON 对象

最常见的一步是转成 JSON 对象。解析器按第一个冒号切分每一行,冒号左边是键,右边去掉首尾空格就是值。上面那组头部转出来是这样:

{
  "Host": "api.example.com",
  "Authorization": "Bearer eyJhbGciOiJIUzI1Ni
  "Content-Type": "application/json",
  "Accept": "application/json",
  "X-Request-Id": "7f3a9c"
}

这个对象可以直接贴进 fetch(url, { headers: {...} }),也可以放进测试 fixture 或接口文档里。需要注意的是,只按第一个冒号切分很重要:像 Authorization: Bearer xxx 这种值本身不含冒号,但有些自定义头的值可能带冒号,分割逻辑必须从左边第一个冒号断开,否则键值就错位了。

转成 curl -H 参数

要在终端里复现同一个请求,把每行头部包成 -H 参数即可。同一组头部转成 curl 命令长这样:

curl 'https://api.example.com/v1/orders' \
  -H 'Host: api.example.com' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1Ni' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-Request-Id: 7f3a9c'

把头部转成 curl 参数的好处是可以原样发给同事复现 bug,或者粘进脚本做定时探活。每个头部独占一行 -H,比一行长命令好读也好删。如果只想验证某个头部是否被服务端正确接收,删掉其它行单独跑就行。

调试转代码与接口文档

我自己用得最多的场景,是把一次真实请求的头部直接固化成代码。调试阶段我在浏览器里把请求跑通,确认状态码和返回都对,然后把 Network 面板里的请求头整段复制,转成 JSON 对象,粘进接口文档的示例代码块。这样文档里的请求头和我刚刚验证过的请求一字不差,不会出现文档写一套、线上发另一套的情况。

写接口文档时还有个细节:从面板复制的文本常带隐藏空白和重复行。导入前先去重、规范化一遍,能避免文档里出现两个 Accept 或带多余空格的键名。如果只想抽出头部、暂时不转格式,可以先用 HTTP 头提取器 把头部从日志或网页文本里干净地拆出来,再回到转换器做格式转换。

全程本地,不发请求

请求头里经常带 Authorization、Cookie 或自定义鉴权字段,这些是不该上传到任何服务器的。这个转换器的解析、校验、去重和导出都在浏览器当前标签页里完成,上传的文本文件也是用 File API 本地读取,不发任何网络请求。像 JWT、银行卡号这类敏感值,输出时还会脱敏,同时保留格式是否合法的校验结果。

如果你的头部里夹了 token,想单独把 JWT 拆出来解析,可以配合 JWT 令牌提取器 使用;批量转换头部本身,就用 HTTP 头列表转换器,把一堆请求头一次性转成 JSON、curl 或逐行格式。

一点使用建议

格式正确不等于真实可用。校验只检查头部写法是否合法,不代表对应的账号、域名或资源真的存在,更不代表这个 token 没过期。需要审计线索时,别只复制最终列表,顺手下载一份带行号的 CSV 或 Markdown,方便回头对照原始数据排查。把这一步固定下来,调试和写文档之间的衔接会顺很多。


Made by Toolora · Updated 2026-06-13