我正在做一个使用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/