网络、浏览器与运维

HTTP 报文解析

贴一段原始 HTTP 报文、一条 cURL 命令,或者 Chrome DevTools 复制出来的 fetch 代码,工具会按格式拆开请求行、状态码、headers、查询参数、Cookie 与 body,再按需要重新生成 cURL、HTTPie、fetch、axios、Python requests、Go、PHP 等三十多种调用代码。整个过程在浏览器内完成,报文和 Cookie 不会离开当前页面。

  • 一个输入框,自动识别原始 HTTP、cURL、fetch 三种粘贴形态
  • 请求与响应都能解析,headers、查询参数、Cookie、Set-Cookie 全部展开为表格
  • Body 按 Content-Type 自动识别 JSON、表单、XML 或文本,并提供语法高亮
  • 一次粘贴可重新生成三十多种语言或客户端的调用代码
工具/HTTP 报文解析

从这里开始

把原始 HTTP 报文、cURL 命令,或 DevTools 复制的 fetch 代码贴到左侧输入框,解析结果会出现在这里。

试一个示例
示例

功能简介

把零散的请求和响应贴进来,工具会拆出结构、做必要的检查,再按需要换一种调用方式输出。

  1. 01

    三种粘贴形态自动识别

    原始 HTTP 报文、cURL 命令、Chrome DevTools 的复制 fetch 代码都能识别,输入框会读取首行特征自动判断,也可以手动指定。

  2. 02

    请求与响应都能解析

    请求行、状态行、headers、查询参数和 Cookie 都会展开为表格;body 按 Content-Type 选择 JSON、表单、XML 或文本展示,并附带语法高亮。

  3. 03

    Cookie 拆得很细

    请求 Cookie 和 Set-Cookie 分别列表展示,Domain、Path、Expires、Max-Age、HttpOnly、Secure、SameSite、Partitioned 全部识别成独立属性。

  4. 04

    三十多种调用代码反向生成

    cURL、HTTPie、wget、fetch、axios、got、ky、Python requests、Go、Rust、PHP Guzzle、Java OkHttp 等格式按需输出,做文档示例、迁移脚本和回归用例都能直接复制。

  5. 05

    中性的安全与规范提示

    响应缺少 HSTS、Content-Security-Policy、X-Content-Type-Options 时给出提示;Cookie 缺 Secure、HttpOnly,或者 __Host- 前缀不合规也会提示,但不替你下结论。

  6. 06

    完全在浏览器内运行

    识别、解析、转换都跑在当前页面里,报文和 Cookie 不会通过任何接口发送出去。

如何使用

一个输入框走完识别、解析、导出三步,不需要多面板切换。

  1. 01

    把原始 HTTP 报文、cURL 命令,或 DevTools 复制的 fetch 代码贴进左侧输入区。

  2. 02

    工具会自动判断格式。识别错误时,可以在顶部手动切到原始 HTTP、cURL 或 fetch。

  3. 03

    在右侧概览中确认方法、状态、主机和 body 大小,再展开 headers、查询参数、Cookie 和提示。

  4. 04

    切到 Body 视图查看请求或响应的正文,JSON 和表单可以在美化与原文之间切换。

  5. 05

    需要把这次请求改造成代码时,切到导出视图,从下拉里选目标语言,再点复制即可粘贴回 IDE。

功能说明

把抓包、复刻请求、对照文档三个动作放在同一个工作区里,相互不打扰。

  • 原始 HTTP 按空行拆 headers 与 body,再按首行模式区分请求和响应。
  • cURL 解析会还原方法、URL、headers、Cookie、body 与常见 flag。
  • fetch 解析适配 DevTools 默认输出,能拆出 URL、method、headers、body。
  • JSON body 自动 pretty-print,并提供原文与美化切换,方便整段复制。
  • Cookie 模块会校验 SameSite=None 是否搭配 Secure,以及 __Host-、__Secure- 前缀的约束。
  • 响应安全头检查覆盖 HSTS、Content-Security-Policy、X-Content-Type-Options、Referrer-Policy。

适合哪些场景

日常和 HTTP 打交道的几个场景,都能少做一些重复抄写的活。

  1. 把线上请求搬到本地脚本

    从 DevTools 复制 cURL 或 fetch,转成 Python requests、Go、Java OkHttp 等代码,做自动化任务或回归脚本的起点。

  2. 排查接口异常

    把抓包导出的原始报文贴进来,逐项核对 headers、状态码、Set-Cookie 和 body,定位前后端预期不一致的字段。

  3. 审查响应安全配置

    看 HSTS、CSP、X-Content-Type-Options 是否齐全,把基线检查项一次过完,再决定要不要进入更详细的安全评估。

  4. 同步多语言 API 文档

    一份样例请求,导出成 cURL、HTTPie、fetch、axios、Python、Go 等多份调用代码,避免手工逐种维护。

  5. 回放和编辑 Cookie

    把 Cookie 头逐条拆开,调整 Domain、Path、SameSite 之后,再拼回去贴到浏览器或脚本里复现问题。

  6. 给团队留一份样本

    把真实流量整理成 .http 文件或一段 cURL,前后端、QA、SRE 都能从同一份样例开始排查。

延伸阅读

同一份抓包里通常还混着一段难读的 User-Agent,可以打开 User-Agent 解析 把浏览器、操作系统、设备和机器人来源都拆出来。如果查询参数被层层编码或重定向链很长, URL 工具 能逐段还原 URL 并清掉追踪参数。Authorization 头或 Cookie 中看到 JWT 时, JWT 检查器 可以解码 payload 并校验签名,避免直接信任未验签的内容。

使用建议

报文是文本,肉眼判断容易漏。让结构化视图做第一遍核对,再回到原文确认。

  • 复制 cURL 时尽量保留多行格式,解析时对每个 flag 的边界判断会更稳。
  • 在分享或截图之前,在结构化视图里把 Cookie、Authorization 等敏感字段做脱敏。
  • 对比两次响应时,先用 Body 视图美化,再放到 JSON 差异工具里看变化,可以避开空白和键序的干扰。
  • 响应安全头提示只是一组基线信号,关键资产仍需要按业务做更完整的安全评审。
  • 生产 Cookie 与 token 不要长期停留在任何在线工具里,包括这个页面,用完就清空。
  • 导出代码后,记得把示例域名、占位 token 换成真实环境的变量再提交。

边界与注意事项

了解这个工具不做的事,可以避免把它当成抓包代理或安全扫描器使用。

  • 工具不会发起任何网络请求,只解析你贴进来的文本,所以不能直接抓包或回放。
  • TLS 握手、HTTP/2 与 HTTP/3 的帧结构不在解析范围内,输入需要是可见的报文文本。
  • gzip、brotli 等已压缩的 body 不会自动解压,请先在抓包工具里解开。
  • 响应安全头检查是基线提示,不替代专业的安全扫描和渗透测试。
  • fetch 解析按 DevTools 标准形态识别,手写或经过封装的代码可能识别不完整。

常见问题

关于格式识别、Cookie 处理、导出准确度和数据是否离开浏览器的常见疑问。

输入框只支持一种格式吗?

不需要切换。默认模式会识别原始 HTTP、cURL 和 fetch;识别错了再到顶部手动指定就好。

原始 HTTP 报文需要包含什么?

请求至少需要请求行(例如 GET /path HTTP/1.1)和一行 Host;响应至少需要状态行(例如 HTTP/1.1 200 OK)。headers 与 body 之间用一个空行分隔。

导出的 fetch 或 axios 代码能直接运行吗?

保留了方法、URL、headers 和 body,作为起点没问题。投入项目前,把鉴权方式、错误处理、环境变量按工程规范替换一下。

响应里的 Set-Cookie 怎么处理?

逐条拆成名称、值和属性后展示,并对常见问题给出提示,例如 SameSite=None 是否搭配 Secure、__Host- 前缀是否符合 Path=/ 和无 Domain 的要求。

我贴进去的数据会被上传吗?

不会。识别、解析、转换都在浏览器里完成,没有任何网络请求把报文或 Cookie 送出当前页面。

为什么导出 cURL 在响应模式下是空的?

cURL、fetch、axios 描述的都是一个请求,响应没有足够的信息去重组请求行,因此响应模式只允许导出原始 HTTP。

更多相关工具

继续处理网络与浏览器相关的任务:识别 User-Agent、拆解 URL,或者解码 Authorization 里的 JWT。