Poproszono mnie o napisanie skryptu powłoki, aby sprawdzić, czy adres URL działa poprawnie, czy nie działa w moim projekcie.
Próbowałem znaleźć jakieś wskazówki w Internecie, ale wszystko, co otrzymałem, polega na sprawdzeniu, czy adres URL istnieje, czy nie.
Najpierw próbowałem 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
Moja kolejna próba była z 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
Ale oba sprawdzają istnienie adresu URL, a nie odpowiedź.
shell
shell-script
scripting
ksh
Akash
źródło
źródło
Odpowiedzi:
curl -Is http://www.yourURL.com | head -1
Możesz wypróbować to polecenie, aby sprawdzić dowolny kod URL.Status200 OK
oznacza, że żądanie się powiodło i adres URL jest osiągalny.Możesz również przetestować dostępność adresu URL i uzyskać kod odpowiedzi za pomocą
telnet
poleceniatelnet www.yourURL.com 80
80 to numer portu.
źródło
Możesz wykonać następujące czynności
Te
if
oświadczenia nie są konieczne, choć ja je tu po prostu ilustrują przepływ skryptu.źródło
./checkURL
. Mam nadzieję, że to pomoże%s\n
tam umieściłeś? na twój komentarz? Cel projektu? Powinieneś bardziej szczegółowo określać to, co próbujesz osiągnąć.Następująca rzecz działała dla mnie ....
Próbowałem z tego, co napisał @THUSHI.
źródło
Jeśli masz
ping
adres URL, to również da ci odpowiedźGdzie
-c
będzie się liczyć, aż upłynie limit 5.W świetle tego, co mi doradzono,
nmap
może działać, jeśli masz zainstalowany pakiet w systemie.curl
byłaby lepszym rozwiązaniem, ale mimo to oto przykład użycianmap
:nmap -p 80 -sT www.google.com
źródło
ping
wysyłaICMP
wiadomość i zdecydowanie nie używa portu80
lub443
. Również niektóre serwery blokują żądania ping, co wciąż czyni próbę niewiarygodną.nmap
znowu jest to domyślny pakiet w wielu systemach * nix.curl
jest częściej dostarczany z systemem podstawowym. Musisz jeszcze zainstalować,nmap
aby osiągnąć coś, co można osiągnąć za pomocą standardowych narzędzi * nix.W większości przypadków curl nie działa na https, jeśli chcesz sprawdzić, możesz sprawdzić poprzez „curl --version” , nie zobaczysz opcji https, w takim przypadku możesz użyć poniżej
wget --post-data '{"name":"Radha", "Car": "Jaquar"}' --header "Content-Type: application/json" --no-check-certificate https://yourrequiredURI
źródło
źródło