如何从任何 URL 获得响应?

Aka*_*ash 30 shell scripting ksh shell-script

我被要求编写一个 shell 脚本来检查我的项目的 URL 是否已启动/工作。

我试图在互联网上找到一些提示,但我得到的都是关于检查 URL 是否存在。

我第一次尝试使用wget.

wget -S --spider https://genesis-dev.webbank.ssmb.com:21589/gop-ui/app.jsp 2>&1 | awk '/^  /'
if [ $? -ne 0 ]
then echo "Server is UP"
else
echo "Server is down"
fi
Run Code Online (Sandbox Code Playgroud)

我的下一次尝试是使用curl.

curl -ivs  https://genesis-dev.webbank.ssmb.com:21589/opconsole-sit/opconsole.html#
if [ $? -ne 0 ]
then echo "Server is UP"
else
echo "Server is down"
fi
Run Code Online (Sandbox Code Playgroud)

但是,两者都在检查 URL 的存在而不是响应。

Thu*_*shi 33

curl -Is http://www.yourURL.com | head -1您可以尝试使用此命令检查任何 URL。状态代码200 OK表示请求已成功且 URL 可访问。

您还可以测试 URL 可用性并使用telnet命令获取响应代码

telnet www.yourURL.com 80

80 是端口号。


Val*_*ami 6

您可以执行以下操作

#!/bin/bash

read -p "URL to check: " url
if curl --output /dev/null --silent --head --fail "$url"; then
  printf '%s\n' "$url exist"
else
  printf '%s\n' "$url does not exist"
fi
Run Code Online (Sandbox Code Playgroud)

不过这些if语句不是必需的,我把它们放在这里只是为了说明脚本的流程。在此处输入图片说明