web-dev-qa-db-ja.com

どのURLから応答を取得するのですか?

シェルスクリプトの記述を求められたプロジェクトのURLがUP /機能しているかどうかを確認するには

インターネットでいくつかのヒントを見つけようとしましたが、得られたのは、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

私の次の試みは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

ただし、どちらも応答ではなくURLの存在をチェックしています。

24
Akash

curl -Is http://www.yourURL.com | head -1このコマンドを使用して、URL.Statusコードを確認できます200 OKは、リクエストが成功し、URLに到達できることを意味します。

telnetコマンドを使用して、URLの可用性をテストし、応答コードを取得することもできます

telnet www.yourURL.com 80

80はポート番号です。

22
Thushi

次のことができます

#!/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

ifステートメントは必要ありませんが、スクリプトのフローを示すためだけにここに配置しています。 enter image description here

5

次のことは私のために働きました...

status="$(curl -Is http://www.google.com | head -1)"
validate=( $status )
if [ ${validate[-2]} == "200" ]; then
  echo "OK"
else
  echo "NOT RESPONDING"
fi

@THUSHIが書いたものから試しました。

1
Abhishek Tiwari

URLをpingすると、応答も返されます

ping -c 5 www.google.com

どこ -cは、タイムアウトが5になるまでカウントされます。

私の助言を受けて、システムにパッケージがインストールされている場合、nmapは機能する可能性があります。 curlの方が良いオプションですが、それでもnmapを使用した例を次に示します。

nmap -p 80 -sT www.google.com

0
ryekayo

ほとんどの場合、curlはhttpsで機能しません。確認したい場合は"curl --version"を介して確認できます。この場合、httpsオプションは表示されません。

wget --post-data '{"name":"Radha", "Car": "Jaquar"}' --header "Content-Type: application/json" --no-check-certificate https://yourrequiredURI

0