Curl 下載前的長時間延遲

Curl 下載前的長時間延遲

我有一個 bash 腳本,用於檢查 Web 目錄中是否存在檔案。如果該檔案不存在,它就會退出。如果該檔案確實存在於 Web 目錄中,則會下載該檔案。

然而,該腳本工作正常,我只是在滿足「存在」條件後實際觸發腳本(第 4 行)之前測量了 5:00 分鐘以上的延遲時間。

我是否在該腳本中遺漏了一些導致腳本運行延遲的內容?

Bash 腳本程式碼:

url="http://website.url/directory/file.txt"

if curl -f ${url} >/dev/null 2>&1; then
  bash some_bash_script.sh
else
  exit 0
fi

答案1

我最終使用wget --spider來繞過長時間的下載延遲curl

修改後的 Bash 腳本:

url="http://website.url/directory/file.txt"

if wget --spider ${url} >/dev/null 2>&1; then
  bash some_bash_script.sh
else
  exit 0
fi

答案2

你也可以這樣做:

curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].." > /dev/null
# on success (page exists), $? will be 0; on failure (page does not exist or
# is unreachable), $? will be 1

來源:https://stackoverflow.com/questions/2924422/how-do-i-define-if-a-web-page-exists-with-shell-scripting

if $?
; then
  bash somescript.sh
else
  exit 0
fi

歸功於@zneak

相關內容