URLのリストを確認し、Curlを使用して戻りコードを確認するスクリプトがあります。
リンクされたファイルは次のとおりです。
https://link1/...
https://link2/...
https://link200/...
(...)
スクリプト:
INDEX=0
DIR="$(grep [WorkingDir file] | cut -d \" -f 2)"
WORKDIR="${DIR}/base"
ARQLINK="navbase.txt"
for URL in $(cat $WORKDIR/$ARQLINK); do
INDEX=$((INDEX + 1))
HTTP_CODE=$(curl -m 5 -k -o /dev/null --silent --head --write-out '%{http_code}\n' $URL)
if [ $HTTP_CODE -eq 200 ]; then
printf "\n%.3d => OK! - $URL" $INDEX;
else
printf "\n\n%.3d => FAIL! - $URL\n" $INDEX;
fi
done
各URLを実行するのに少し時間がかかるので、これらのカールリクエストをスピードアップする方法が気になります。おそらくいくつかの並列Curlリクエストを使用するかもしれませんが、「for」ループで「xargs」を使用してメッセージを同時に印刷するのは良い方法ではないようです。
スクリプトで "xargs"を使用できましたが、うまくいきましたが、正しいHTTPコードは表示されませんでした。
cat navbase.txt | xargs -I % -P 10 curl -m 5 -k -o /dev/null --silent --head --write-out '%{http_code}\n' %
スクリプトに挿入する方法が見つかりません。
どのようなヒントがありますか?