开发实战指南

cURL 转 fetch:保留方法、请求头与请求体

把请求转换为浏览器代码,检查网页无法直接复现的 cURL 行为。

Nav Tools ·

识别请求组成

cURL 命令包含 URL、方法、请求头、请求体和客户端选项,应先区分协议数据与 cURL 专有行为。

使用合成 HTTPS 地址和请求体转换,示例中不使用生产 Bearer Token 或会话 Cookie。

curl 'https://example.com/api/items' \
  -X POST -H 'Content-Type: application/json' \
  --data-raw '{"name":"Ada"}'

复核生成代码

检查方法、请求体是否保留,以及 Content-Type 是否符合实际内容,表单与 JSON 不能直接互换。

转换器生成源码而非执行请求,复制前应核对目标库版本和语法。

fetch("https://example.com/api/items", {
  method: "POST",
  headers: {"Content-Type": "application/json"},
  body: JSON.stringify({name: "Ada"})
});

浏览器限制仍生效

浏览器控制部分请求头,并执行 CORS 与混合内容策略,cURL 成功不代表 fetch 有权读取响应。

本站客户端直接请求 HTTPS 目标,不走代理、不带 Cookie、不跟随重定向,凭据测试应在目标应用环境进行。

比较协议行为

控制端点时应比较服务收到的方法、请求头和字节,区分代码转换错误、认证失败与策略失败。

复杂命令可能包含 shell 展开或未支持选项,需审查结果,不能假定所有命令行副作用均已转换。

参考资料

← 开发实战指南