其它综合

关注公众号 jb51net

关闭
首页 > 网络编程 > 其它综合 > curl和wget区别

curl和wget检测网页状态的区别

作者:wx65bc375171f34

curl和Wget在linux日常使用中非常常见,它们都可以向服务器发出请求,curl和Wget的一个最明显的区别是:默认情况下Wget将查询的网页保存到系统,而 curl将其显示在终端输出中但不保存它,curl的使用率比Wget多得多

curl 和 Wget在linux日常使用中非常常见,它们都可以向服务器发出请求,curl 和 Wget 的一个最明显的区别是:默认情况下 Wget 将查询的网页保存到系统,而 curl 将其显示在终端输出中但不保存它,curl 的使用率比 Wget 多得多,可用于手机、计算机(包括 Windows 和 macOS 等操作系统)甚至物联网设备(例如智能手表、智能冰箱和其他类似物品)等环境中。

1. 使用 curl 检测网页状态

基础命令:检查 HTTP 状态码

curl -s -o /dev/null -w "%{http_code}" https://example.com

完整检测(包含重定向)

curl -L -s -o /dev/null -w "%{http_code} %{url_effective}\n" https://example.com

高级用法:超时和详细诊断

curl --connect-timeout 10 --max-time 20 -v -I https://example.com

2. 使用 wget 检测网页状态

基础命令:检查 HTTP 状态码

wget --spider -S --max-redirect 0 https://example.com 2>&1 | grep "HTTP/" | awk '{print $2}'

完整检测(包含重定向)

wget --spider -q -O /dev/null https://example.com && echo "OK" || echo "FAIL"

3. 自动化脚本示例

**curl 脚本(检查状态码是否为 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 脚本(检查是否可访问)**

#!/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

4. 常见状态码解释

状态码

含义

典型场景

200

OK

正常访问

301/302

永久/临时重定向

域名跳转(需 -L 跟随)

403

Forbidden

IP/UA 被拦截

404

Not Found

页面不存在

500

Internal Server Error

服务器内部错误

503

Service Unavailable

服务过载或维护

5. 高级场景

检查内容是否包含关键字

# 使用 curl 检查内容是否包含 "Welcome"
curl -s -L https://example.com | grep -q "Welcome" && echo "OK" || echo "MISSING"

忽略 SSL 证书错误(测试用)

curl -k -s -o /dev/null -w "%{http_code}" https://example.com  # -k 跳过证书验证

批量检测多个 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"
done

6. 工具选择建议

到此这篇关于curl和wget检测网页状态的区别的文章就介绍到这了,更多相关curl和wget区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文