cURL 转 Fetch
将 cURL 命令转换为 JavaScript fetch
完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。
工具说明
把单行简单 cURL 请求转换为可编辑的 JavaScript fetch 草稿。解析器仅识别部分方法、请求头和字面请求体标志,不复现 Shell 执行、文件读取或完整 cURL 语义。使用前核对请求预览与响应读取代码;工具不执行命令,但会在当前浏览器保存完整输入草稿。
失败门诊(高频踩坑)
把 cURL 草稿当成 Shell 和浏览器行为的完整复现
原因:数据参数按字面读取,Shell 引号和转义被简化;未支持选项可能被忽略,或其参数被误当作 URL。Fetch 还有自己的 CORS、请求头、请求体及响应读取要求。
修复:使用带占位凭据的简单单行命令;执行前检查 URL、方法、头部、请求体与响应读取。完整命令草稿会保存在当前浏览器中。
生产可用片段
运行生成代码前检查字面请求体
text
输入:
curl 'https://example.com' --data-urlencode 'q=hello world'
生成的请求字段:
method: POST
body: q=hello world
此转换器不会把空格编码成 %20 或 +。
模板最后调用 response.json()。常见问题
识别哪些 cURL 写法?
适合单行简单 curl 命令,识别 URL、-X/--request、-H/--header、-I/--head 和数据参数;未显式指定方法时,有数据参数选 POST,否则 GET。这是简化分词器,不是 Shell 或完整 cURL 解析器。
数据参数与真实 cURL 完全等价吗?
不等价。数据参数按字面字符串读取,并用 & 拼接;--data-urlencode 不会执行 URL 编码,@file 不会读取文件。Shell 变量、命令替换、转义、multipart 上传及未支持标志都不能可靠翻译,需核对生成的请求预览。
生成代码能直接运行吗?
需先检查。模板固定调用 response.json(),空响应或非 JSON 响应要改用合适读取方式;浏览器 CORS、禁止设置的请求头、Cookie 和 Fetch 方法/请求体限制仍然适用。转换器本身不执行命令或请求。
粘贴的令牌会留在哪里?
转换不上传命令,但完整输入会保存在当前浏览器本地存储中并在返回时恢复。建议先把真实凭据换成占位符,尤其是共享浏览器;清空会移除保存的命令。
继续浏览