임의의 URL에서 응답을 얻는 방법은 무엇입니까?

임의의 URL에서 응답을 얻는 방법은 무엇입니까?

쉘 스크립트를 작성해 달라는 요청을 받았습니다내 프로젝트의 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

나의 다음 시도는 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이 존재하는지 확인합니다.

답변1

curl -Is http://www.yourURL.com | head -1이 명령을 사용하여 URL을 확인할 수 있습니다. 상태 코드는 200 OK요청이 성공했고 URL에 연결할 수 있음을 나타냅니다.

telnet다음 명령을 사용하여 URL 가용성을 테스트하고 응답 코드를 얻을 수도 있습니다.

telnet www.yourURL.com 80

80은 포트 번호입니다.

답변2

다음을 수행할 수 있습니다.

#!/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문은 필수는 아니며 스크립트의 흐름을 설명하기 위해 여기에 넣었습니다.여기에 이미지 설명을 입력하세요.

답변3

다음은 나에게 효과적이었습니다 ...

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

@THUSHI가 쓴 것을 시도해 보았습니다.

답변4

대부분의 경우 컬은 https에서 작동하지 않습니다. 확인하려면 확인할 수 있습니다."곱슬 버전"이 경우 https 옵션이 표시되지 않습니다. 아래에서 사용할 수 있습니다.

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

관련 정보