在使用CURL发送下一个请求之前休眠3秒

时间:2016-03-16 23:04:31

标签: curl sleep

我正在使用终端的CURL中的范围功能解析网站;在发出下一个请求之前,请注意10秒睡眠命令。

但是,我收到此错误消息:

  

您对本网站的访问权限已经存在   暂时被阻止。这个阻止是自动的   很快就被删除,通常在几分钟内。最常见   阻止动作的原因是对。的自动响应   从您的IP地址发送到网站的过多网页请求。如果   你正在使用>请自动下载工具   将请求率降低到小于1>请求   每3秒钟一次。

这是我正在使用的代码:

while sleep 10; do curl "http://some.site.com/content[1-100]/[1-100]/[1-500].stuff"; done

while true; do curl "http://some.site.com/content[1-100]/[1-100]/[1-500].stuff"; sleep 10; done

1 个答案:

答案 0 :(得分:1)

您的问题是[1-100]语法将使用1..100中的数字重复请求而不返回,因此您的睡眠将被忽略。

我不知道在使用区间语法时告诉curl加油的方法,因此我建议您从外部curl控制此问题,例如:

for a in {1..100}; do
    for b in {1..100}; do
        for c in {1..500}; do
            curl "http://some.site.com/content$a/$b/$c.stuff"
            sleep 3s
        done
    done
done