我的猜测是:
jq '.resultsUrl'
输出领域resultsUrl
引号,因此卷曲不能正确地处理它。此外,$URL | ...
不起作用,您将不得不直接使用echo
或curl
。
尝试
OK=$(curl -s https://api.apifier.com/v1/xHbBnrZ9rxF4CdKjo/crawlers/Example_Alcatraz_Cruises/execute?token=nJ9ohCHZPaJRFEb7nFqtzm76u | jq -r '.resultsUrl')
curl -s "$OK"
这
[{ "id": 2, "url": "https://www.alcatrazcruises.com/SearchEventDaySpan.aspx?date=02-25-2016&selected=", "loadedUrl": "https://www.alcatrazcruises.com/SearchEventDaySpan.aspx?date=02-25-2016&selected=", "requestedAt": "2016-02-25T23:24:52.611Z", "loadingStartedAt": "2016-02-25T23:24:54.663Z", "loadingFinishedAt": "2016-02-25T23:24:55.642Z", "loadErrorCode": null, "pageFunctionStartedAt": "2016-02-25T23:24:55.839Z", "pageFunctionFinishedAt": "2016-02-25T23:24:55.841Z", "uniqueKey": "https://www.alcatrazcruises.com/SearchEventDaySpan.aspx?date=02-25-2016&selected=", "type": "UserEnqueued", ...
结果对我来说这应该是你所期望的。
但是,有时第一API调用产生错误:
{
"type": "ALREADY_RUNNING",
"message": "The act is already running and concurrent execution is not allowed"
}
所以resultsURL会null
,你将不得不处理这个错误情况。
来源
2016-02-25 23:05:14
Ctx
变化'OK = “$网址” | jq'.resultsUrl''为'OK = $(echo $ URL | jq'.resultsUrl')'。在尝试卷曲它之前,您应该检查OK是否为空。 –
如何知道设置'URL'的正确语法,但不能使用相同的语法来设置'OK'? – Barmar