Digite URL e mostre o status HTTP

1

Eu quero fazer um script de shell onde eu digite uma URL e me retorne o código de status. Até agora eu testei wget existe alguma outra causa que tem a tendência de salvar o que você executar. Então eu tentei algum tipo awk da saída, mas você não tem nenhum conselho.

Editar para Zelda: Eu tentei o primeiro

maseusemprerecebo:

P.S. Também tentei HTTP sem '', agora coloquei por curiosidade

    
por Phil_Charly 14.12.2013 / 10:59

2 respostas

9

Você pode simplesmente usar curl para isso. Eu escrevi um script simples para isso.

url=$1
curl -sL $url -w "%{http_code} %{url_effective}\n" "URL" -o /dev/null

Em que URL é seu URL, o qual você precisa testar a saída lhe dará status.

Exemplo

    
por 14.12.2013 / 11:37
4

Você pode ficar com wget :

wget -O /dev/null http://unix.stackexchange.com 2>&1 | grep -F HTTP

que te dá:

HTTP request sent, awaiting response... 200 OK

que você pode cortar com cut :

wget -O /dev/null http://unix.stackexchange.com 2>&1 | grep -F HTTP | cut -d ' ' -f 6

Se o URL não existir, então não há saída.

Com consulta para o URL:

echo "give your url"
read url
wget -O /dev/null $url 2>&1 | grep -F HTTP
echo "ok?"
    
por 14.12.2013 / 11:54