每 10 分鐘呼叫 `https://www.xxx.com/a.php?a=0&record=0`,取得回應後解析新的 `a`、`record` 參數,帶入下一次呼叫,循環執行。
#!/bin/bash
# fetch_chain.sh
URL_BASE="https://www.xxx.com/a.php"
PARAM_A=0
PARAM_RECORD=0
OUTFILE="save.txt"
while true; do
# 組裝 URL
FULL_URL="${URL_BASE}?a=${PARAM_A}&record=${PARAM_RECORD}"
# cURL 獲取內容,靜默模式,輸出至變數
RESPONSE=$(curl -s -G --data-urlencode "a=${PARAM_A}" --data-urlencode "record=${PARAM_RECORD}" "${URL_BASE}")
# 追加寫入日誌 (含時間戳)
echo "[$(date '+%F %T')] a=${PARAM_A} record=${PARAM_RECORD} -> ${RESPONSE}" >> "${OUTFILE}"
# 解析新參數 (假設回應為純文字 "a=新值 record=新值" 或 JSON)
# 這裡需根據實際回應格式調整 awk/sed/jq 解析邏輯
# 範例:回應為 "a=123 record=456"
NEW_A=$(echo "$RESPONSE" | grep -oP 'a=\K\d+')
NEW_RECORD=$(echo "$RESPONSE" | grep -oP 'record=\K\d+')
if [[ -z "$NEW_A" || -z "$NEW_RECORD" ]]; then
echo "[$(date)] 解析失敗,回應: $RESPONSE" >> "${OUTFILE}"
break
fi
PARAM_A=$NEW_A
PARAM_RECORD=$NEW_RECORD
sleep 600 # 10 分鐘 = 600 秒
done
結論:Shell 腳本 + cURL + 迴圈/排程 完美滿足參數鏈式定時呼叫需求。