我有这个脚本来检查 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' %
我找不到将其插入脚本的方法。
有小费吗?