You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CURL批量检测字母递增URL并仅保留有效链接?

过滤404仅输出有效URL的实现方法

直接在你的Bash循环里加入状态码判断逻辑就行,下面给你两种实用的写法:

方法1:基于现有curl命令的判断

如果不想大幅修改现有代码,就解析curl返回的头部状态码,排除404后输出有效URL:

# 替换成你实际的路径遍历逻辑
for path in {a..zzzzzzzzzzz}; do
    # 提取HTTP状态码
    status=$(curl -Is "example.com/$path" | head -1 | awk '{print $2}')
    # 非404则输出完整URL
    if [ "$status" != "404" ]; then
        echo "https://example.com/$path"
    fi
done

方法2:更高效的curl状态码直接获取

上面的方法需要解析字符串,容易出问题,推荐用curl自带参数直接返回状态码,速度更快也更可靠:

for path in {a..zzzzzzzzzzz}; do
    url="https://example.com/$path"
    # -s静默模式,-o丢弃响应内容,-w指定仅输出状态码
    status=$(curl -s -o /dev/null -w "%{http_code}" "$url")
    # 可按需调整判断逻辑,比如只保留2xx/3xx类有效状态
    if [ "$status" != "404" ]; then
        echo "$url"
    fi
done

额外优化建议

  • 循环末尾加sleep 0.1,避免请求过于频繁被目标网站限制
  • 如果要精准筛选成功状态,可把判断改成:if [[ "$status" =~ ^[23][0-9]{2}$ ]]; then

内容的提问来源于stack exchange,提问作者user27248272

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 15:30:54