Shell 脚本用于从服务器获取响应

Shell 脚本用于从服务器获取响应

我们正在测试我们的服务器。

我是 Shell 脚本的初学者。

我需要一个 bash shell 脚本来读取包含 URL 的文本文件,查询服务器的每个 URL 并检查应用程序服务器是否返回200 OK302 Redirect响应。

您能给我提供一些教程或链接来做到这一点吗?

答案1

for name in `cat textfile`; do curl -s -o /dev/null --write-out %{http_code} $name  2>&1 ; echo -e "\n"; done

说明:

for url in `cat textfile`

使用命令输出文本文件中的所有条目cat,并通过变量提供当前指针url

curl -s -o /dev/null --write-out %{http_code} $url 2>&1

调用 cURL 并使用 抑制任何进度状态-s,使用 开关将任何其他输出写入/dev/null(这是一个黑洞,您可以将任何东西扔进去)-o,然后使用--write out %{http_code}为您提供您执行的每个链接的返回代码,使用 放下当前链接$url,并使用 将 STDERR 重定向到 STDOUT 2>&1(以防您确实收到任何错误)。然后...

; echo -e "\n"

无论最后一条语句(整个 cURL 块)是否失败,都在新行上回显。

`; done

完成循环。

但这可能不是你想要的,因为它仅有的打印出返回代码。

答案2

使用wget命令使用 --spider 选项。然而,这可能会导致 HEAD 请求而不是 GET,根据网站配置,这可能会导致不正确的结果。另一种方法是使用卷曲

答案3

跟进@qweet

使用卷曲使用-K, --config <config file>命令行参数。此配置文件中的每个 URL 都必须使用 url 参数定义:

url="页面/到/获取"

相关内容