开发实战指南
cURL 转 fetch:保留方法、请求头与请求体
把请求转换为浏览器代码,检查网页无法直接复现的 cURL 行为。
识别请求组成
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 展开或未支持选项,需审查结果,不能假定所有命令行副作用均已转换。