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

Shell脚本实现cURL请求间添加延迟的优雅方案

嘿,手动给两千多个URL挨个插sleep确实太折腾人了!给你几个优雅又高效的实现方案,完美解决你的需求:

方案1:从URL列表文件批量处理(最推荐)

如果你的URL已经整理成了每行一个的文本文件(比如urls.txt),用这个循环脚本最方便:

#!/bin/bash
# 读取urls.txt中的每个URL,处理带空格/特殊字符的URL也不会出错
while IFS= read -r url; do
    # 执行curl请求,可根据需求添加参数(比如-s静默模式、-o保存结果等)
    curl "$url"
    # 请求完成后延迟10秒,可按需修改时长
    sleep 10
done < urls.txt

实用小优化:

  • 如果想让curl请求失败时不中断循环,改成:curl "$url" || true
  • 要记录请求日志的话,改成:curl "$url" >> curl_requests.log 2>&1
  • 担心被目标网站识别为爬虫?换成随机延迟:sleep $((RANDOM % 6 + 7))(延迟7-12秒随机)

方案2:用数组硬编码URL(适合少量URL或需要内嵌的场景)

如果URL不多,或者想直接写在脚本里,用数组循环也很方便:

#!/bin/bash
# 定义URL数组,每行一个URL
urls=(
    "https://your-first-url.com"
    "https://your-second-url.com"
    "https://your-third-url.com"
    # 继续添加剩下的URL即可
)

# 遍历数组执行请求
for url in "${urls[@]}"; do
    curl "$url"
    sleep 10
done

这两个方案都能自动给每个curl请求后加上延迟,完全不用手动逐个修改,两千个URL也能轻松处理~

内容的提问来源于stack exchange,提问作者Tomáš Janulík

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 23:58:12