如何使用 WGET 仅获取状态信息并将其保存在某处?

How can I use WGET to get only status info and save it somewhere?

我可以使用 WGET 获取状态 200 OK 并将该状态保存在某处吗?如果没有,我该如何使用 ubuntu linux?

谢谢!

使用 curl 你可以

curl -L -o /dev/null -s -w "%{http_code}\n" http://google.com >> status.txt

您使用 --save-headers 将 headers 添加到输出中,使用 -O - 将输出放入控制台,使用 >/dev/null 忽略错误流并仅获取使用 grep HTTP/.

的状态行

然后您可以使用 >status_file

将其输出到文件中
$ wget --save-headers -O - http://google.com/ 2>/dev/null | grep HTTP/ > status_file

问题表明 wget 命令的输出存储在某处。作为另一种选择,以下示例显示了如何将 wget 执行的输出存储在 shell 变量 (wget_status) 中。在执行 wget 命令后,执行状态存储在变量 wget_status 中。使用 echo 命令在控制台中显示 wget 状态。

$ wget_status=$(wget --server-response ${URL} 2>&1 | awk '/^  HTTP/{print }')
$ echo $wget_status
200

执行wget命令后,可以使用wget_status变量的值来操作执行状态。

有关更多信息,请参阅以下 link 作为参考:

https://www.unix.com/shell-programming-and-scripting/148595-capture-http-response-code-wget.html

测试是在 linux 系统上使用云shell 执行的。

Linux cs-335831867014-default 5.10.90+ #1 SMP 3 月 23 日星期三 09:10:07 UTC 2022 x86_64 GNU/Linux