工具

cURL 转 Python / JS fetch 工具

粘贴 curl 命令,生成可直接运行的 Python requests 或 JavaScript fetch 代码——Header、Body、认证与超时自动转换,敏感值可脱敏为环境变量,全程只在浏览器内运行。

转换

处理地点:转换只在此浏览器标签页内完成——命令不发送、不留存。不要粘贴真实密钥或凭证。


        

    转换器覆盖什么

    解析覆盖常见 curl 语法:-X/--request、可重复的 -H 请求头、-d/--data-raw/--data-binary/--data-urlencode 请求体(多个 -d 与 curl 一样用 & 拼接)、-F 多部分表单、-u 基本认证、-A/-e/-b 快捷头、-G(把请求体转成查询串)、-I(HEAD)、-m/--connect-timeout 与 -k。引号也能原样粘贴——单引号、双引号、$'...' ANSI-C 字符串和反斜杠续行都按 shell 规则分词。

    能解析为 JSON 的请求体在 Python 里变成 json=、在 fetch 里变成 JSON.stringify(),其余保持原始字符串。与本机环境绑定的参数——-x 代理、--resolve、客户端证书、-K 配置文件——会明确列为「已忽略」,而不是静默产出错误代码。勾选「脱敏输出」后,敏感请求头与基本认证凭证会改写为 os.environ/process.env 读取。浏览器 fetch 没有等价 -k(跳过证书校验)的写法,所以该参数只给出说明而不是伪造代码。

    常见问题

    粘贴的命令会被上传吗?

    不会。分词、解析、生成代码全部在这个浏览器标签页内完成——不上传、不落盘、不写进链接,关掉标签页即消失。

    支持哪些 curl 参数?

    常见请求语法:-X/--request、-H 请求头、-d/--data-raw/--data-binary/--data-urlencode 请求体、-F 多部分表单、-u 基本认证、-A/-e/-b 快捷头、-G、-I、超时与 -k。与本机环境绑定的参数(代理、--resolve、客户端证书、-K 配置文件)会明确标注忽略,而不是生成错误代码。

    为什么我的 JSON 请求体有时保留成原始字符串?

    只有当请求体真的能解析成 JSON、且 Content-Type 缺失或为 JSON 时才输出 json=/JSON.stringify。如果你用其他 content type 发送形似 JSON 的文本,请求体会逐字保留,保证请求行为一致。

    「脱敏输出」会改什么?

    看起来敏感的请求头(Authorization、Cookie、API Key、Token)和 -u 凭证会被改写成环境变量读取——Python 用 os.environ、fetch 用 process.env,变量名由头名推导。真实值不出现在输出里,代码可以放心贴进 issue 或文档。