利用curl来批量执行txt里面的网址

/ 0评 / 2

Sandy在很多文章里面都有提到利用curl去提交或者更新网站之类的文章,但是问题来了,在服务器里面执行太多的crontab.总感觉到卡顿了.这个时候树莓派或者家里的群晖又或者虚拟机要发挥作用了.我们来写个curl批量执行的脚本.

首先我们要先了解curl怎么样才能去执行txt文件,当然是要先读取txt文件咯.那么我们可以用cat来读取,废话不多说了,我们撸起袖子干起来吧!

第一步:

把下面代码保存为auto-url.sh文件 注意cat里面的文件路径.

for URL in `cat /home/pi/Documents/auto-url.txt`; do echo $URL; curl -m 10 -s -I $1 "$URL" | grep HTTP/1.1 |  awk {'print $2'}; done

-------------------------------

命令详细解说:

-m: 允许整个操作执行的最长时间(以秒为单位)。这对于防止批处理作业由于任何网络问题而挂起数小时很有用
-s:显示错误消息
-I: 仅显示文档信息
awk: 匹配模式并打印结果

结果:

pi@pi3bplus:~ $ for URL in `cat auto-url.txt`; do echo $URL; curl -m 10 -s -I $1 "$URL" | grep HTTP/1.1 |  awk {'print $2'}; done
https://www.baidu.com
200
http://google.com
301
https://www.facebook.com
200
https://blog.e9china.net
405
https://blog.e9china.net:8080

如果你想查看详细的结果和响应,只需尝试添加-v into curl,你会在命令提示符中看到详细的详细结果。

for URL in `cat auto-url.txt`; do echo $URL; curl -v -m 10 -s -I $1 "$URL" | grep HTTP/1.1 |  awk {'print $2'}; done

就这样,上面的命令将打印每个URL的HTTP响应代码。

第二步:

建立auto-url.txt文件,每一个地址一行,例如:

http://www.baidu.com
http://www.google.com

然后我们执行看看:

pi@pi3bplus:~ $ bash /home/pi/Documents/auto-url.sh
http://www.baidu.com
http://www.google.com

完成,请配合crontab使用.

 

 

发表评论

邮箱地址不会被公开。 必填项已用*标注