shell - 循环 curl 调用并在出现错误之前计算成功响应

标签 shell loops curl httpresponse standard-error

我正在尝试测试和量化来自 http 服务器的间歇性错误响应。我构建了一个 curl 调用,可以提出必要的请求,但是我已经厌倦了键入向上箭头并返回。

如何告诉 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 输出重定向到文件,因此当它失败时,您可以使用以下内容查看输出:
 curl -v -o /dev/null https://google.com &> /tmp/output.txt

关于shell - 循环 curl 调用并在出现错误之前计算成功响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35738445/

相关文章:

linux - 删除空文件夹Linux

bash - 基本的shell编程

c++ - cin 的十进制输入验证?

scala - 优雅的 Iteratee -> 枚举器 "forwarding"正在运行

c++ - 使用 CURL 进行 GET 请求

shell - test -h 和 test -L 的区别

linux - 在shell脚本中模拟按下 'Page up'键

c++ - 使用 For 循环对队列进行入队和出队 - C++

python - 在 python 脚本中添加引号内的变量

时间:2019-05-17 标签:c++curlundefinedreferenceto_imp__curl_easy_initCodeblocks