4

http サーバーからの断続的なエラー応答をテストして定量化しようとしています。必要な要求を行うことができる curl 呼び出しを作成しましたが、上向き矢印を入力して戻るのにうんざりしています。

エラーが発生するまで繰り返しリクエストを作成し、エラーが発生する前の成功応答の数を出力するようにcurlに指示するにはどうすればよいですか?

4

1 に答える 1

8

この 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
于 2016-03-02T06:00:18.990 に答える