cURL 转代码 · 免费在线转 fetch/axios/Python
免费在线 cURL 转代码工具,粘贴从浏览器 DevTools「Copy as cURL」得到的命令,自动转成 JavaScript fetch、axios 或 Python requests 代码。按 shell 词法解析,支持单双引号、行尾续行反斜杠、-XPOST 这类紧贴写法,并按目标库的惯用写法还原鉴权、请求体与表单。纯浏览器本地转换、不上传、免登录。
- 粘贴完整 curl 命令(支持多行反斜杠续行)。
- 选择目标语言/库:fetch、axios 或 Python requests。
- 查看「已忽略参数」提示,确认没有关键选项被丢掉。
- 复制生成的代码,按需补超时与错误处理。
支持哪些 curl 参数?
常用的都支持:-X 方法、-H 请求头、-d/--data/--data-raw/--data-binary 请求体、-F 表单、-u 基础认证、-b Cookie、-A User-Agent、-e Referer、-k 跳过证书校验。-s/-L/-i/-v 这类只影响命令行输出或行为的开关会静默跳过,无法对应到代码的参数会列在「已忽略」里提示你。
没写 -X 的 curl 会识别成什么方法?
按 curl 自身的行为推断:命令里带了 -d、--data-urlencode 或 -F 时视为 POST,否则视为 GET。所以从 DevTools 复制的 POST 请求即使没有 -X 也能正确还原。显式写了 -X 则以它为准。
请求体是 JSON 会怎么处理?
会先尝试按 JSON 解析:解析成功则格式化成缩进的对象字面量嵌进代码(fetch 用 JSON.stringify、axios 直接作 data、Python 用 json= 参数),可读性比一长串转义字符串好得多。不是合法 JSON 则原样作为字符串请求体,表单编码的 key=value 也照此处理。
三个目标有什么差别?
fetch 无需依赖但要手动 .json() 解析响应,基础认证需自己算 base64;axios 自动解析 JSON 到 res.data,且有原生的 auth 配置项;Python requests 有 json= 与 auth= 参数,还能用 verify=False 跳过证书校验(浏览器端做不到)。选哪个取决于运行环境。
超时和重试会转过来吗?
不会。--max-time、--connect-timeout、--retry 会被跳过,因为三种目标的超时写法完全不同:fetch 要配 AbortSignal.timeout(),axios 用 timeout 配置项,requests 用 timeout= 参数。重试则都需要自行封装或引入拦截器/适配器。