如何正确调用/v1/eval端点运行JS脚本?curl及bash适配咨询
解决curl发送JavaScript脚本到/v1/eval端点的格式问题
一、使用curl参数避免脚本格式损坏
直接用--data-binary参数替代常规的-d/--data,该参数会完整保留脚本的换行、空格、注释等原始格式,不会将脚本压缩为单行。
1. 从本地文件读取脚本发送
curl -X POST https://你的API域名/v1/eval \ -H "Content-Type: application/javascript" \ --data-binary @your-script.js
@your-script.js表示直接读取指定本地脚本文件的内容,原样发送至端点。
2. 命令行直接写脚本内容发送
用单引号包裹完整脚本(bash中单引号不会解析内部内容,可保留换行格式):
curl -X POST https://你的API域名/v1/eval \ -H "Content-Type: application/javascript" \ --data-binary 'const getResult = () => { // 单行注释可正常生效 return "success"; }; console.log(getResult());'
二、通过bash预处理脚本适配端点
如果无法直接使用文件发送,可通过bash读取脚本并保留格式后传递给curl:
cat your-script.js | curl -X POST https://你的API域名/v1/eval \ -H "Content-Type: application/javascript" \ --data-binary @-
@-表示curl从标准输入读取内容,cat输出的原始脚本格式会被完整保留。
注意:不建议通过bash自动补充分号或修改ES6语法,这类操作容易引入语法错误,优先使用
--data-binary保留原始格式是最稳妥的方案。
内容的提问来源于stack exchange,提问作者chriskelly
相关产品推荐
相关产品推荐

