我想製作一個程序,可以將一系列漫畫掃描轉換爲一個pdf文件,並且我不想嘗試下載圖片以確定我是否擁有正確的網址。是否有shell腳本命令,我可以用它來檢查網頁是否存在?如何通過shell腳本確定網頁是否存在?
回答
下一個* NIX,您可以用curl
發出一個簡單的HEAD
請求(HEAD
只要求頭,而不是頁面正文):
curl --head http://myurl/
然後,你可以只需要第一線,包含HTTP狀態代碼(200 OK,404未找到,等):
curl -s --head http://myurl/ | head -n 1
再檢查,如果你有一個體面的響應(狀態碼爲200或3 **):
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].."
如果狀態代碼沒問題,將輸出第一行,如果不是,則輸出第一行。您還可以通過管道將到/ dev/null來獲得無輸出,並使用$?
,以確定它是否工作或沒有:
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
編輯-s
只是告訴curl
不顯示「進度條」。
爲了減少字符串解析並檢查重定向到不存在的頁面,可以使用'curl --silent --head --location --output/dev/null --write-out'%{http_code}' http://en.wikipedia.org/wiki/tla | grep'^ 2'' – bukzor 2013-08-16 16:39:18
使用--fail:http://stackoverflow.com/a/12199125/376366 – 2013-11-29 23:18:00
腳本可自動驗證多個文件:https://gist.github.com/igilham/12eb33ab8a86f1e815d2 – IanGilham 2014-09-18 16:05:15
Pfff ...爲什麼downvotes(沒有解釋,介意你),如果答案是正確的,簡要的和內容豐富的? – 2016-03-02 12:03:15
我沒有投票,但如果我不得不猜測,這是因爲只有URL的答案[不鼓勵](https://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-鏈接別處 - 真的好 - 答案)。 – zneak 2017-07-20 00:08:11
謝謝。 TBH,問題是「是否有shell腳本命令可以用來檢查網頁是否存在?」我的回答是「wget或cURL將完成這項工作」,以及指向每個命令的鏈接以及可以檢查這些命令調用的響應的解釋。從任何角度來看,這不僅僅是一個URL唯一的答案,而且與當時出現的其他答案(修訂版)一樣:https://stackoverflow.com/revisions/2924444/1。唉,顯然是一個糟糕的業力日:-) – 2017-07-22 13:39:32
使用cURL獲取狀態碼並檢查所需的值。
status=$(curl -s --head -w %{http_code} http://www.google.com/ -o /dev/null)
echo $status
首先確保沒有授權任何issue.If要求授權,您提供的用戶名和密碼.Create一個shell腳本文件(checkURL.sh)並粘貼下面的代碼。
希望這會幫助你。
checkURL.sh
yourURL="http://abc-repo.mycorp.com/data/yourdir"
if curl --output /dev/null --silent --head --fail "$yourURL"
then
echo "This URL Exist"
else
echo "This URL Not Exist"
fi
它在Nexus和其他信息庫爲我工作。
您可以隨時使用wget
;我做的代碼更簡單。
if [[ $(wget http://url/ -O-) ]] 2>/dev/null
then echo "This page exists."
else echo "This page does not exist."
fi
使用-O-
選項與wget
意味着它會嘗試輸出頁面的內容,但只有當它的存在。所以如果沒有任何輸出,那麼該頁面不存在。 2>/dev/null
只是將輸出(如果有的話)發送到垃圾箱。
我知道這是逾期,但我希望這可以幫助。
- 1. 通過Shell腳本確定Linux進程是否在給定參數下運行
- 2. 如何確定shell腳本是安全
- 3. 我的shell腳本如何確定它是否在真正的shell中?
- 4. 如何檢測Node.js腳本是否通過shell管道運行?
- 5. 是否有人如何通過shell腳本執行此cmd?
- 6. 如何檢查java是否通過shell腳本安裝
- 7. 如何確定一個git拉是否從一個shell腳本
- 8. 如何確定shell腳本是否以root權限運行?
- 9. 通過shell腳本
- 10. 通過shell腳本
- 11. 如何在shell腳本中檢查密碼是否正確?
- 12. 如何通過bash腳本檢查文件是否存在?
- 13. 如何在shell腳本中檢查目錄是否存在?
- 14. 我如何通過shell腳本
- 15. 如何通過python執行shell腳本
- 16. 如何通過運行shell腳本
- 17. 如何檢查命令是否存在於shell腳本中?
- 18. 在它是如何通過一個與$$的值到shell腳本
- 19. shell腳本檢查指定的Git分支是否存在?
- 20. 如何確定函數是否存在於POSIX shell中?
- 21. 搜索通過shell腳本
- 22. Shell腳本通過Oozie
- 23. 如何確定網址是否已放置在網頁中?
- 24. 如何通過編程確定網頁是否具有不安全的元素?
- 25. 如何通過JavaScript確定頁面是否安全?
- 26. 如何通過AIX kornshell腳本確定JVM是否仍處於活動狀態
- 27. shell腳本是否足夠?
- 28. 檢查Tomcat是否通過shell腳本運行
- 29. 檢查gradle測試是否通過shell腳本
- 30. 檢查腳本是否存在頁面
哪個外殼? UNIX shell? Windows命令提示符? Windows Powershell? – zneak 2010-05-27 20:00:10
UNIX,我猜,因爲它有一個unix標籤。 – thepiercingarrow 2016-03-25 00:01:14