本篇教你把抓到的请求 改一改再发,或者从零 手拼一条请求发出去:任意一条抓到的请求都能一键重发、改完再发;也能在请求构造器里自己拼一个新请求。带签名 / 时间戳的私有接口,用 动态值现算就能真正重放;常用请求和多套环境,用 集合 / 环境管起来。抓包和调接口在同一处完成,不用来回切工具。
适合你满足下面任一条:
如果你要的是 半路拦下来手动改、或按规则 自动改写流量,那是另一件事,见 规则改写与断点拦截。
在请求构造器里逐块填好,即可发送:
Authorization 头时才生效。Content-Type。不想一格格填?可以直接 粘贴一条 cURL 命令导入成可编辑请求(支持
-X / -H / -d / --data-* / -u / -b / -A / -e等常见参数,带请求体会自动判成 POST);也可以 导入外部接口集合文件。

带签名的接口,旧的时间戳和签名照抄发不过去。在
任意字段里写
${...} 动态值,发送前会
现算成真实值再发出去:
| 你要什么 | 这样写 |
|---|---|
| 随机 UUID |
${uuid} /
${randomUUID} |
| 秒级时间戳 |
${timestamp} |
| 毫秒级时间戳 |
${timestampMs} /
${now} |
| 16 位随机十六进制 |
${random} |
| 区间随机整数 |
${randomInt:min,max} |
| Base64 编 / 解码 |
${base64:} /
${base64url:} /
${base64decode:} |
| 哈希 |
${md5:} /
${sha1:} /
${sha256:} |
| HMAC 签名 |
${hmacSha256:key,msg} /
${hmacSha256Base64:key,msg} /
${hmacSha1:key,msg} |
| URL 编码 / 大小写 |
${urlEncode:} /
${upper:} /
${lower:} |
${hmacSha256:${secret},${body}},先取变量、再拿去算签名。X-Timestamp: ${timestamp},签名头放
X-Sign: ${hmacSha256:${secret},${timestamp}},每次发送时间戳和签名都跟着自动更新。${name} 抽成环境变量,配好
开发 / 测试 / 线上几套,一键切换整套地址和参数;变量之间还能互相引用、链式展开。想让重放更贴近真实链路,可以在构造器的 设置里让发送带上和抓包会话一致的网络特征:走 上游代理(http / socks5)、把请求特征 还原为标准客户端、指定 自定义 DNS 解析。
| 现象 | 多半是 | 怎么办 |
|---|---|---|
| 返回「签名错误 / 时间戳过期」 | 签名字段写的是抓包时的旧值 | 改成动态值现算,如
${timestamp}、
${hmacSha256:key,msg} |
发出去后某个
${...} 原样出现在请求里 |
这个变量没求到值(拼错、或环境里没定义) | 检查动态值拼写;用到环境变量就确认当前环境里定义了它 |
参数里的
${...} 发出去变成了乱码 |
占位符被提前编码了 | 查询参数写进 参数表逐行管理,别直接塞进 URL |
请求体发出去没带
Content-Type |
请求体选成了 none 或原始文本 | 选 JSON 或表单,会自动补对应
Content-Type;或在请求头表里手写一个 |
| 鉴权没生效 | 已手写了
Authorization 头 |
鉴权助手只在你没手写该头时生效;二选一,别重复 |
| 切了环境但地址没变 | 请求里写的是写死的地址,不是变量 | 把会变的部分抽成
${name} 环境变量,再切环境 |
| 重放能通但结果和真实链路对不上 | 网络特征和抓包时不一致 | 在设置里对齐上游代理 / 请求特征 / 自定义 DNS |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046796/viewspace-3177041/ ,如需转载,请注明出处,否则将追究法律责任。