Respostas:
Não é wget, mas você pode fazer isso facilmente usando curl.
curl -I http://www.superuser.com/
Produz esta saída:
HTTP/1.1 301 Moved Permanently
Content-Length: 144
Content-Type: text/html; charset=UTF-8
Location: http://superuser.com/
Date: Sat, 09 Oct 2010 19:11:50 GMT
-I
é equivalente a --head
.
https
, também poderá adicionar -k
ou--insecure
Experimentar:
wget -S --spider www.example.com
Você também pode passar -O /dev/null
para impedir a wget
gravação de resposta HTTP em um arquivo.
-S
vai mostrar cabeçalhos, mas executa um GET
, não um HEAD
. Em outras palavras, ele buscará o URL inteiro.
wget -S --spider http://localhost
log criado em apache servidor é127.0.0.1 - - [04/Mar/2014:15:36:32 +0100] "HEAD / HTTP/1.1" 200 314 "-" "Wget/1.13.4 (linux-gnu)"
Não há necessidade de enrolar .
Com o Wget, adicionar --spider
implica que você deseja enviar uma HEAD
solicitação (ao contrário de GET
ou POST
).
Essa é uma ótima maneira minimalista de verificar se um URL responde ou não. Você pode, por exemplo, usar isso em verificações com script, e a HEAD
operação garantirá que você não carregue carga na rede nem no servidor da web de destino.
Informações sobre bônus: Se o Wget receber um erro HTTP 500 do servidor HEAD
ao executá-lo, ele passará a executar um GET
contra o mesmo URL. Não sei o motivo desse design. Essa é a razão pela qual você pode ver a solicitação HEAD
e a GET
sendo executadas no servidor. Se nada estiver errado, apenas uma HEAD
solicitação será executada. Você pode desativar essa funcionalidade com a --tries
opção de limitar o Wget a apenas uma tentativa.
Em suma, recomendo isso para testar se um URL está respondendo:
# This works in Bash and derivatives
wget_output=$(wget --spider --tries 1 $URL 2>&1)
wget_exit_code=$?
if [ $wget_exit_code -ne 0 ]; then
# Something went wrong
echo "$URL is not responding"
echo "Output from wget: "
echo "$wget_output"
else
echo "Check succeeded: $URL is responding"
fi
wget -S
obtém o arquivo:
Comprimento do conteúdo: 2316, Comprimento: 2316 (2,3 K) [texto / sem formatação], Salvando em: `index.html '
wget --spider
obtém cabeçalhos:
Modo Spider ativado. Verifique se existe arquivo remoto., Comprimento: não especificado [texto / simples] Arquivo remoto existe.
Embora não wget
, muitas perl
instalações com o lwp
módulo terão um HEAD
comando instalado.