Solicitação WET HEAD?

49

Gostaria de enviar a solicitação HTTP HEAD usando wget . É possível?

    
por Xiè Jìléi 07.10.2010 / 17:43

5 respostas

56

Não é wget, mas você pode fazer isso facilmente usando o 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
    
por 09.10.2010 / 21:14
34

Tente:

wget -S --spider www.example.com

Você também pode transmitir -O /dev/null para impedir que wget grave uma resposta HTTP em um arquivo.

    
por 07.10.2010 / 19:10
18

Não há necessidade de curl .

Com o Wget, adicionar --spider significa que você deseja enviar uma solicitação HEAD (em oposição a GET ou POST ).

Esta é uma ótima maneira minimalista de verificar se uma URL responde ou não. Você pode, por exemplo, usar isso em verificações com script, e a operação HEAD fará com que você não coloque nenhuma carga nem na rede nem no servidor web de destino.

Informação do bônus: Se o Wget receber um erro HTTP 500 do servidor quando ele executar o HEAD , ele passará a executar um GET no mesmo URL. Eu não sei o motivo desse design. Esta é a razão pela qual você pode ver uma solicitação HEAD e a GET sendo executada no servidor. Se nada estiver errado, apenas uma solicitação HEAD será executada. Você pode desativar essa funcionalidade com a opção --tries para limitar o Wget a apenas uma tentativa.

Em suma, recomendo isso para testar se uma 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
    
por 15.08.2014 / 11:48
4

wget -S obtém o arquivo:

Content-Length: 2316, Length: 2316 (2.3K) [text/plain], Saving to: 'index.html'

wget --spider obtém cabeçalhos:

Spider mode enabled. Check if remote file exists., Length: unspecified [text/plain] Remote file exists.

    
por 05.04.2014 / 14:53
-1

Embora não seja wget , muitas perl instaladas com lwp module terão um comando HEAD instalado.

    
por 07.10.2010 / 18:09

Tags