cURL HTTP请求和附加的文本文件-意外的输出

时间:2018-11-15 14:17:03

标签: shell curl file-io httprequest etl

如何在每个API调用之间睡眠2秒的同时循环浏览cURL HTTP请求并将API响应保存在单个附加的文本文件中?

下面的脚本输出2个.txt文件–第一个(fandata.txt)具有一些(不是全部)数据,似乎被最后一个循环覆盖。 Second(metadata.txt)输出一个.txt,错误显示为

Cannot GET /api/artist/

我知道这通常是通过Python Requests库而不是cURL完成的,但API文档是使用cURL编写的。另外,我想用贝壳弄湿我的脚。

refreshtoken=$(REDACTED)
livetoken=${refreshtoken:10:225}
auth_header="Authorization: Bearer $livetoken"
auth_header="${auth_header}"
source="{facebook,instagram,soundcloud,wikipedia,twitter,youtube,bandsintown}"                                                                                                                         
dates="since=2017-10-31&until=2018-10-31"

metadata_url="https://api.chartmetric.io/api/artist/$artistid"
for (( artistid=1; artistid<=3; artistid+=1 )); do
    metadata=$(curl -H "${auth_header}" -o metadata.txt "${metadata_url}")                                              
    sleep 2s
done >metadata.txt
echo "$metadata"

fanmetrics_url="https://api.chartmetric.io/api/artist/$artistid/stat/$source?$dates"
for (( artistid=1; artistid<=3; artistid+=1 )); do
    fandata=$(curl -H "${auth_header}" -o fandata.txt "$fanmetrics_url") 
    sleep 2s
done >fandata.txt
echo "$fandata"

0 个答案:

没有答案