【发布时间】:2019-12-08 13:18:23
【问题描述】:
我可以通过 cURL 使用以下命令控制飞利浦 Hue 灯:
curl -X PUT --data '{"on":true}' "http://<bridgeip>/api/<key>/lights/7/state";
我正在使用函数生成有效负载,因此我想将其通过管道传输到 cURL(以从标准输入获取其输入):
onString='{"on":true}';
echo "$onString" | curl -X PUT --data - "http://<bridgeip>/api/<key>/lights/7/state";
但这会引发错误:“body contains invalid json”
我不明白这是可行的:
onString='{"on":true}';
curl -X PUT --data "$onString" "http://<bridgeip>/api/<key>/lights/7/state";
谁能解释一下?
(顺便说一句,当我将函数的输出通过管道传输到 cat 时,结果字符串与预期的一样,当复制并粘贴到 jsonlint 时,会检查为有效的 JSON。)
【问题讨论】: