URL이 UP / Working인지 아닌지 확인하기 위해 쉘 스크립트 를 작성하라는 요청을 받았습니다 .
인터넷을 통해 힌트를 찾으려고했지만 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의 존재를 확인하고 있습니다.
답변
curl -Is http://www.yourURL.com | head -1
이 명령을 사용 200 OK
하여 URL 을 확인할 수 있습니다. 상태 코드 는 요청이 성공했으며 URL에 도달 할 수 있음을 의미합니다.
telnet
명령을 사용하여 URL 가용성을 테스트하고 응답 코드를 얻을 수도 있습니다.
telnet www.yourURL.com 80
포트 번호는 80입니다.
답변
당신은 다음을 할 수 있습니다
#!/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
문은 그냥 스크립트의 흐름을 설명하기 위해 여기에 넣어 필요하지만하지 않습니다.
답변
다음 일이 나를 위해 일했습니다 ….
status="$(curl -Is http://www.google.com | head -1)"
validate=( $status )
if [ ${validate[-2]} == "200" ]; then
echo "OK"
else
echo "NOT RESPONDING"
fi
@THUSHI가 쓴 것에서 시도했습니다.
답변
당신 ping
이 URL 이라면 , 그것은 또한 당신에게 응답을 줄 것입니다
ping -c 5 www.google.com
어디 -c
오의 제한 시간이 만료 될 때까지 계산됩니다.
내가 조언 한 바에 비추어, nmap
시스템에 패키지가 설치되어 있으면 작동 할 수 있습니다. curl
더 나은 옵션이지만, 그럼에도 불구하고 다음과 같은 예제가 있습니다 nmap
.
nmap -p 80 -sT www.google.com
답변
curl에서 대부분 curl이 작동하지 않으면 “curl –version” 을 통해 확인할 수 있습니다 .이 경우 https 옵션이 표시되지 않습니다.
wget --post-data '{"name":"Radha", "Car": "Jaquar"}' --header "Content-Type: application/json" --no-check-certificate https://yourrequiredURI
답변
status="curl \"${server}:${port}\"" >/tmp/tmp.txt
host_check='grep "<html" /tmp/tmp.txt'