循环卷曲调用并计算出错之前的成功响应

问题描述:

我试图测试和量化来自http服务器的间歇性错误响应。我有一个可以提出必要请求的卷曲调用,但是我已经厌倦了输入箭头并返回。循环卷曲调用并计算出错之前的成功响应

我该如何告诉curl重复发出请求,直到遇到错误,然后在错误发生之前输出成功响应的次数?

这个bash食谱应该做你想要的。

i=0 ; while true ; do curl -o /dev/null -s https://www.google.com/ ; if [ $? -ne 0 ] ; then echo $i ; break ; fi ; i=$(($i+1)) ; echo -en "$i  \r" ; sleep 1 ; done 

分解成多行:

i=0 # set counter to 0 
while true # infinite loop 
do 
    curl -o /dev/null -s https://www.google.com/ # silent curl request to site 
    if [ $? -ne 0 ] 
    then 
     # curl didn't return 0 - failure 
     echo $i 
     break # terminate loop 
    fi 
    i=$(($i+1)) # increment counter 
    echo -en "$i  \r" # display # of requests each iteration 
    sleep 1 # short pause between requests 
done 

可以卷曲输出重定向到一个文件中,所以当它失败,您可以使用这样的事情看到的输出:

curl -v -o /dev/null https://google.com &> /tmp/output.txt