Pediram-me para escrever um script de shell. Para verificar se um URL está ativo / ativo ou não para o meu projeto.
Tentei encontrar algumas dicas pela internet, mas o que eu consegui é verificar se o URL existe ou não.
Eu tentei pela primeira vez 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
Minha próxima tentativa foi com 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
Mas, ambos estão verificando a existência do URL e não a resposta.
shell
shell-script
scripting
ksh
Akash
fonte
fonte
Respostas:
curl -Is http://www.yourURL.com | head -1
Você pode tentar este comando para verificar qualquer URL.Status code200 OK
significa que a solicitação foi bem-sucedida e a URL está acessível.Você também pode testar a disponibilidade da URL e obter o código de resposta usando o
telnet
comandotelnet www.yourURL.com 80
80 é o número da porta.
fonte
Você pode fazer o seguinte
As
if
declarações não são necessárias, eu as coloquei aqui apenas para ilustrar o fluxo do script.fonte
./checkURL
. Espero que ajude%s\n
você colocou lá? no seu comentário? Objetivo do projeto? Você deve ser mais específico do que está tentando realizar.Seguinte coisa funcionou para mim ....
Eu tentei com o que @THUSHI escreveu.
fonte
Se você for
ping
o URL, isso também fornecerá uma respostaOnde
-c
contará até o tempo limite de 5 expirar.À luz do que fui avisado,
nmap
pode funcionar se você tiver o pacote instalado no seu sistema.curl
seria uma opção melhor, mas, no entanto, aqui está um exemplo usandonmap
:nmap -p 80 -sT www.google.com
fonte
ping
envia umaICMP
mensagem e definitivamente não usa port80
or443
. Além disso, alguns servidores bloqueiam solicitações de ping, o que ainda torna a tentativa não confiável.nmap
novamente é um pacote não padrão em muitos sistemas * nix.curl
é mais comum enviado com o sistema básico. Você ainda precisa instalarnmap
para conseguir algo que pode ser alcançado com as ferramentas * nix padrão.Na maioria das vezes, o curl não funciona em https. Se você deseja verificar, pode verificar "curl --version"; você não verá a opção https; nesse caso, você pode usar abaixo
wget --post-data '{"name":"Radha", "Car": "Jaquar"}' --header "Content-Type: application/json" --no-check-certificate https://yourrequiredURI
fonte
fonte