请求构造与重放(Composer)
抓包不止于「看」。TraceEagle 的请求构造器(Composer)把「抓到的真实请求」和「手动构造调试」放在同一处:任意一条抓到的请求都能一键重发、改参数再发;也可以从零手拼一个请求发出去。无需在抓包工具和另一个接口调试工具之间来回切换。
一、两种入口
Section titled “一、两种入口”- 一键重发 / 编辑重放:在流量列表右键,或在详情面板点「编辑并重发」,即可把这条抓到的请求原样载入构造器,地址会按抓包时的协议 / 主机 / 端口自动还原,无关的连接头自动剔除,请求体与类型按内容自动识别。改几个参数再发即可。
- 从零构造:直接在构造器里手拼一个新请求。
两种入口走的是同一套发送通道,结果都会记录进独立的 Composer 会话页签(保留完整历史),像抓到的请求一样可查看、可再改、可对比。
二、手拼一个请求
Section titled “二、手拼一个请求”- 请求行:方法(GET / POST / PUT / DELETE / PATCH / HEAD / OPTIONS)+ URL。
- 参数表:查询参数以表格逐行管理,与 URL 分开维护,发送时才拼接,好处是里面的动态占位符不会被提前编码破坏。
- 请求头表:逐行增删改任意请求头。
- 鉴权助手:None / Bearer Token / Basic(用户名+密码,自动 base64);仅在你没有手写 Authorization 头时生效。
- 请求体:none / JSON / 表单(form-urlencoded)/ 原始文本;选 JSON 或表单时自动补上对应 Content-Type。
三、动态值:应付签名 / 加密私有接口
Section titled “三、动态值:应付签名 / 加密私有接口”任意字段里都能写 ${...} 动态值,发送前由引擎求值,这是调试「带签名 / 时间戳 / 随机数」的私有接口的利器:
| 动态值 | 作用 |
|---|---|
${uuid} / ${randomUUID} |
随机 UUID |
${timestamp} |
Unix 秒级时间戳 |
${timestampMs} / ${now} |
Unix 毫秒级时间戳 |
${random} |
16 位随机十六进制 |
${randomInt:min,max} |
区间随机整数 |
${base64:} / ${base64url:} / ${base64decode:} |
Base64 编 / 解码 |
${md5:} / ${sha1:} / ${sha256:} |
哈希 |
${hmacSha256:key,msg} / ${hmacSha256Base64:key,msg} / ${hmacSha1:key,msg} |
HMAC 签名 |
${urlEncode:} / ${upper:} / ${lower:} |
URL 编码 / 大小写 |
- 支持嵌套:如
${hmacSha256:${secret},${body}},先取变量再算签名。 - 无法解析的原样保留,方便你一眼看出哪个变量没求值,普通工具遇到未定义变量常直接报错或发出空值。

四、环境与集合
Section titled “四、环境与集合”- 环境变量:把
${name}抽成环境变量,多套环境(如「开发 / 测试 / 线上」)一键切换;变量之间可互相引用、链式展开。 - 集合(Collections):把常用请求归入命名分组,随时保存当前请求、随时载回复用。
- 工作区自动保存:集合 + 环境自动保存为一份纯文本、可版本管理的文件,可 diff、可 review,便于团队共享与追溯。
五、导入与代码生成
Section titled “五、导入与代码生成”- cURL 导入:粘贴一条 cURL 命令即可解析成可编辑请求(支持
-X / -H / -d / --data-* / -u / -b / -A / -e等常见参数,含引号处理,有请求体时自动判定为 POST)。 - 集合文件导入:导入外部接口集合文件(以原始体 raw 为主;分组会展平为一个集合)。
- 代码生成:把当前请求一键导出为 cURL / Python / JavaScript(fetch) / Go / OkHttp 代码片段,便于写脚本、贴进项目或分享同事。
六、发送保真:让复现贴近真实链路
Section titled “六、发送保真:让复现贴近真实链路”重放的价值在于「复现的请求要和真实环境一致」。在构造器的设置里,发送可与抓包会话保持一致的网络特征,使结果更可信:
- 上游代理:可经上游代理(http / socks5)发送,把重放请求接到公司代理、跳板等二级代理上。
- 请求特征保真(浏览器画像):可将重放请求的网络特征还原为标准客户端(如常见浏览器),使复现的请求与真实链路保持一致。
- 自定义 DNS:指定用哪个 DNS 解析域名,避开污染或走指定线路。
发送前所有 ${...} 动态值先在本地求值,你随时能看到最终真正发出去的内容。每次发送走的是独立的 Composer 会话,与抓包会话相互隔离;结果内联展示状态码、协议、耗时,并作为一条 Flow 记入会话,像抓到的请求一样可再看、可再改、可对比。
七、配合请求对比(Diff)
Section titled “七、配合请求对比(Diff)”构造 / 重放的请求可与历史抓到的真实请求并排逐行对比,快速定位「同一个接口这次和上次到底差在哪」,排查签名、参数、返回差异特别高效。详见 请求对比。