使用命令行选项开源浏览器来检查检索页面的错误?

使用命令行选项开源浏览器来检查检索页面的错误?

我有几台由 Raspberry Pi 驱动的电视 - 它们安装了 Raspbian 并直接启动到 Midori 的全屏模式。它们显示指标,因此它们应该始终处于打开状态并显示固定页面。

我最近通过添加一个 cron 作业解决了 wifi 频繁掉线的问题,该作业ifup在检测到网络故障时会在 wlan 接口上执行操作,这解决了很多停机问题。

但是现在我遇到了一个问题,每当页面本身不可用时,浏览器就会“卡”在错误页面上(我经常收到的错误是“连接意外终止”)。理想的情况是浏览器有一个命令行选项,可以返回当前打开的页面的状态代码/页面上是否发生了任何错误,如果是,我可以重新加载页面或执行类似操作以将其恢复。我已经检查了Midori 终端选项以及但它们似乎都没有我想要的东西,而且谷歌搜索起来也很困难。如果有人知道有什么浏览器或工具可以帮助我完成我要做的事情,我将非常感激任何建议!

答案1

您可以使用 wget 或 curl 来实现此目的。两者都是用于获取网页的命令行工具,并且具有检查返回代码的选项。

例如:

webmarc@plato:~$ wget http://www.google.com/  -S  -O /dev/null 2>&1 |  grep HTTP\/
  HTTP/1.1 200 OK

这里-S告诉 wget 打印服务器标头,-O将结果文件保存到 /dev/null,因为我对内容不感兴趣,只对状态代码感兴趣。这2>&1是必需的,因为 wget 会将所有内容打印到 stderr 上。最后,只需将其通过管道传输到 grep 以获取每个响应代码中的部分字符串(HTTP/1.1 是当今每个状态代码的一部分,但我保留了版本,以便它可以与 v1.2 或 2.0 一起使用)。

你可以设置一个 bash shell 脚本

$RESULT=`pi@kali:~$ wget http://www.google.com/  -S  -O /dev/null 2>&1 |  grep HTTP\/`

if [[ $RESULT != "  HTTP/1.1 200 OK" ]]
   then fix_teh_broken.sh
fi

将类似的操作按照 1 或 5 分钟的计划放入 cron 中,就可以了。

显然,将您想要监控的 URL 替换为 google。

相关内容