把抓包看到的请求头粘进来,一键变成能直接用的 Python dict。整段 raw 报文(请求行 + headers,甚至带上请求体)直接 Ctrl+V 就行:请求行、http://… 这样的网址行、空行之后的请求体都会被自动跳过,只留真正的 header。
输出的 dict 带好了变量名,粘进代码就是 headers = {…},可以直接给 requests.get(url, headers=headers);也能切换成 JSON,给接口或者存成文件。勾上「Cookie 拆成 cookies」还会额外生成一份按分号拆开的 cookies = {…},长 Cookie 不用再手动敲一遍。
很多转换工具会把 HTTP/2 的伪头部(:authority、:path)也塞进 dict,结果 requests 一跑就报 Invalid header name。这里默认丢掉它们,并在结果末尾用注释原样列出来,既能用又不丢信息。整个过程在你的浏览器里完成,headers 里的 Token、Cookie 不会发到服务器。
| 想做什么 | 怎么做 | 输出格式 |
|---|---|---|
| 复现抓包请求 | 把 Fiddler / Charles / Burp 的 raw 请求头整段粘进来,拿去填 requests | Python dict |
| 只拿 header 那几行 | 从浏览器开发者工具里 Copy request headers,直接粘,不用删请求行 | 任意 |
| Cookie 太长不想手敲 | 勾上「Cookie 拆成 cookies」,额外得到按分号拆好的字典 | 任意 |
| 给接口 / 存档 | 切换成 JSON,2 空格缩进,可以直接存成配置文件 | JSON |
| 查出重复的 header | 同名(不区分大小写)会提示覆盖了几个,排查「设了没生效」很省事 | 任意 |
| HTTP/2 抓包 | 伪头部自动忽略并以注释列出,不会再出现 Invalid header name | 任意 |
Python dict 不允许重复键,这里的规则是后出现的覆盖先出现的,和 requests 内部(不区分大小写)的行为一致。覆盖了几项会在状态行写明。真正需要多值的只有响应里的 Set-Cookie,请求头一般不会重复。
按 HTTP 报文格式,headers 与请求体之间就是一个空行分隔。工具遇到第一个空行就把后面的内容当成请求体跳过,免得把 JSON body 里的 "a": 1 误认成 header。如果只想转两段 header,分两次粘即可。
只按第一个冒号切分,后面的都保留:Referer: https://a.com/x?t=1:2 会完整保留成值。值两端的空格会去掉(HTTP 规范本来就要求忽略);值中间的空格原样保留。
留着。这样两份都能用:想照原样发请求就用 headers,想单独处理某个 cookie 就用 cookies。拆出来的是 requests 的 cookies= 形式,键值都是字符串。
不支持,只处理 Name: value 这种 header 行。cURL 的 -H 'A: b' 可以把引号里的内容抠出来,一行一个粘进来。
这个工具完全在你的浏览器里运行:你输入的内容、上传的文件,都不会离开你的电脑,也不会传到任何服务器。
放心用,数据只在你自己的电脑上转一圈。
用手机相机扫描二维码,即可继续使用该工具
遇到问题或有好建议?告诉我们。