我正在做一个使用BLS API的项目。
参考:http://www.bls.gov/developers/api_unix.htm
我现在的剧本如下:

declare  id=""
echo -n "Enter id: "
read id
echo -n "enter startyear: "
read startyear
echo -n "enter endyear: "
read endyear


curl -i -X POST -H 'Content-Type: application/json' -d '{"seriesid":      ["$id"], "startyear":'$startyear' , "endyear":'$endyear'}' http://api.bls.gov/publicAPI/v2/timeseries/data/

我已经编辑了它,并像在参考页上那样手工输入了ID,这很有效。我似乎无法从输入读取$id并将其插入curl命令。非常感谢您的帮助。
编辑1:
我更新了代码并将-d选项的{}的引号改为双引号,同样的错误仍然存在。
编辑2:
使用注释中提供的代码更新文件后,我收到一个:
Warning:  You can only select one HTTP request!

当我运行它时。

最佳答案

为了澄清我在上述评论中的任何困惑,以下内容应该有效:

echo -n "Enter id: "
read id
echo -n "enter startyear: "
read startyear
echo -n "enter endyear: "
read endyear

curl -i \
     -X POST \
     -H 'Content-Type: application/json' \
     -d "{\"seriesid\":[\"${id}\"],\"startyear\":\"${startyear}\",\"endyear\":\"${endyear}\"}" \
     http://api.bls.gov/publicAPI/v2/timeseries/data/

09-04 18:57
查看更多