curl和wget檢測(cè)網(wǎng)頁(yè)狀態(tài)的區(qū)別
curl 和 Wget在linux日常使用中非常常見(jiàn),它們都可以向服務(wù)器發(fā)出請(qǐng)求,curl 和 Wget 的一個(gè)最明顯的區(qū)別是:默認(rèn)情況下 Wget 將查詢的網(wǎng)頁(yè)保存到系統(tǒng),而 curl 將其顯示在終端輸出中但不保存它,curl 的使用率比 Wget 多得多,可用于手機(jī)、計(jì)算機(jī)(包括 Windows 和 macOS 等操作系統(tǒng))甚至物聯(lián)網(wǎng)設(shè)備(例如智能手表、智能冰箱和其他類(lèi)似物品)等環(huán)境中。
1. 使用 curl 檢測(cè)網(wǎng)頁(yè)狀態(tài)
基礎(chǔ)命令:檢查 HTTP 狀態(tài)碼
curl -s -o /dev/null -w "%{http_code}" https://example.com- 輸出結(jié)果:直接返回狀態(tài)碼(如 200 表示正常)。
- 參數(shù)解釋?zhuān)?/li>
- -s:靜默模式(不顯示進(jìn)度或錯(cuò)誤信息)。
- -o /dev/null:丟棄響應(yīng)內(nèi)容(僅保留頭信息)。
- -w "%{http_code}":輸出 HTTP 狀態(tài)碼。
完整檢測(cè)(包含重定向)
curl -L -s -o /dev/null -w "%{http_code} %{url_effective}\n" https://example.com- 輸出示例:200 https://example.com/(最終狀態(tài)碼和實(shí)際訪問(wèn)的 URL)。
- 參數(shù)解釋?zhuān)?/li>
- -L:自動(dòng)跟隨重定向(如 301/302)。
高級(jí)用法:超時(shí)和詳細(xì)診斷
curl --connect-timeout 10 --max-time 20 -v -I https://example.com
- 參數(shù)解釋?zhuān)?/li>
- --connect-timeout 10:連接超時(shí)時(shí)間(10 秒)。
- --max-time 20:整個(gè)請(qǐng)求超時(shí)時(shí)間(20 秒)。
- -v:顯示詳細(xì)日志(調(diào)試用)。
- -I:僅獲取響應(yīng)頭(HEAD 請(qǐng)求)。
2. 使用 wget 檢測(cè)網(wǎng)頁(yè)狀態(tài)
基礎(chǔ)命令:檢查 HTTP 狀態(tài)碼
wget --spider -S --max-redirect 0 https://example.com 2>&1 | grep "HTTP/" | awk '{print $2}'- 輸出結(jié)果:直接返回狀態(tài)碼(如 200)。
- 參數(shù)解釋?zhuān)?/li>
- --spider:模擬爬蟲(chóng)(不下載內(nèi)容)。
- -S:顯示服務(wù)器響應(yīng)頭。
- --max-redirect 0:禁用重定向(查看原始狀態(tài)碼)。
完整檢測(cè)(包含重定向)
wget --spider -q -O /dev/null https://example.com && echo "OK" || echo "FAIL"
- 輸出示例:OK(狀態(tài)碼為 200)或 FAIL(其他狀態(tài)碼或連接失?。?。
- 參數(shù)解釋?zhuān)?/li>
- -q:靜默模式。
- -O /dev/null:丟棄下載內(nèi)容。
3. 自動(dòng)化腳本示例
**curl 腳本(檢查狀態(tài)碼是否為 200)**
#!/bin/bash
URL="https://example.com"
STATUS_CODE=$(curl -s -o /dev/null -w "%{http_code}" -L $URL)
if [ $STATUS_CODE -eq 200 ]; then
echo "$URL is UP (Status: $STATUS_CODE)"
else
echo "$URL is DOWN (Status: $STATUS_CODE)"
exit 1
fi**wget 腳本(檢查是否可訪問(wèn))**
#!/bin/bash URL="https://example.com" wget --spider -q -T 10 -t 2 $URL if [ $? -eq 0 ]; then echo "$URL is UP" else echo "$URL is DOWN" exit 1 fi
- 參數(shù)解釋?zhuān)?/li>
- -T 10:超時(shí)時(shí)間(10 秒)。
- -t 2:重試次數(shù)(2 次)。
4. 常見(jiàn)狀態(tài)碼解釋
狀態(tài)碼 | 含義 | 典型場(chǎng)景 |
200 | OK | 正常訪問(wèn) |
301/302 | 永久/臨時(shí)重定向 | 域名跳轉(zhuǎn)(需 -L 跟隨) |
403 | Forbidden | IP/UA 被攔截 |
404 | Not Found | 頁(yè)面不存在 |
500 | Internal Server Error | 服務(wù)器內(nèi)部錯(cuò)誤 |
503 | Service Unavailable | 服務(wù)過(guò)載或維護(hù) |
5. 高級(jí)場(chǎng)景
檢查內(nèi)容是否包含關(guān)鍵字
# 使用 curl 檢查內(nèi)容是否包含 "Welcome" curl -s -L https://example.com | grep -q "Welcome" && echo "OK" || echo "MISSING"
忽略 SSL 證書(shū)錯(cuò)誤(測(cè)試用)
curl -k -s -o /dev/null -w "%{http_code}" https://example.com # -k 跳過(guò)證書(shū)驗(yàn)證批量檢測(cè)多個(gè) URL
URLS=("https://example.com" "https://google.com")
for URL in "${URLS[@]}"; do
CODE=$(curl -s -o /dev/null -w "%{http_code}" -L $URL)
echo "$URL: $CODE"
done6. 工具選擇建議
- 選 curl:需要靈活控制請(qǐng)求(如自定義頭、超時(shí)、重定向)或調(diào)試 API。
- 選 wget:需要簡(jiǎn)單檢測(cè)或集成到自動(dòng)化腳本(如定時(shí)任務(wù)監(jiān)控)。
到此這篇關(guān)于curl和wget檢測(cè)網(wǎng)頁(yè)狀態(tài)的區(qū)別的文章就介紹到這了,更多相關(guān)curl和wget區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++ Go語(yǔ)言實(shí)現(xiàn)將windows和linux文件刪除至回收站
這篇文章主要為大家詳細(xì)介紹了如何分別使用C++ Go語(yǔ)言實(shí)現(xiàn)將windows和linux文件刪除至回收站,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12
Unity新手入門(mén)學(xué)習(xí)殿堂級(jí)知識(shí)詳細(xì)講解(圖文)
Unity是一款跨平臺(tái)游戲引擎,支持2D/3D及VR/AR開(kāi)發(fā),核心功能模塊包括圖形、音頻、物理等,通過(guò)可視化編輯器與腳本擴(kuò)展實(shí)現(xiàn)開(kāi)發(fā),項(xiàng)目結(jié)構(gòu)含Assets、Library等目錄,材質(zhì)連接貼圖與著色器用于渲染,適合多平臺(tái)部署與性能優(yōu)化2025-08-08
Django 使用 cookie 實(shí)現(xiàn)簡(jiǎn)單的用戶管理功能
這篇文章主要介紹了Django 使用 cookie 實(shí)現(xiàn)簡(jiǎn)單的用戶管理功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
詳解VScode自動(dòng)補(bǔ)全CSS3前綴插件以及配置無(wú)效的解決辦法
這篇文章主要介紹了詳解VScode自動(dòng)補(bǔ)全CSS3前綴插件以及配置無(wú)效的解決辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
ClawdBot解決Gateway not reachable錯(cuò)誤的5種方法(保姆級(jí)教學(xué))
ClawdBot是一個(gè)本地運(yùn)行的AI助手,基于vLLM提供高效推理,支持user總結(jié)ClawdBot解決Gatewaynotreachable問(wèn)題步驟,本文給大家介紹ClawdBot保姆級(jí)教學(xué):解決Gateway not reachable錯(cuò)誤的5種方法,感興趣的朋友一起看看吧2026-04-04

