Żądanie Wget HEAD?


Odpowiedzi:


59

Nie jest wget, ale możesz to zrobić dość łatwo, używając curl.

curl -I http://www.superuser.com/

Daje to wyjście:

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

Właśnie tego chcę.
Xiè Jìléi

1
-Ijest równoważne z --head.
Nicolas Marchildon,

1
Jeśli potrzebujesz certyfikatu z podpisem własnym https, możesz również dodać -klub--insecure
Mike Aski,

36

Próbować:

wget -S --spider www.example.com

Możesz także przekazać, -O /dev/nullaby uniemożliwić wgetzapisanie odpowiedzi HTTP na pliku.


2
-Sbędzie pokazać nagłówków, ale to wykonuje GET, nie HEAD. Innymi słowy, pobierze cały adres URL.
Dan Dascalescu

9
wget -S --spider http://localhostlog utworzony na serwerze apache to127.0.0.1 - - [04/Mar/2014:15:36:32 +0100] "HEAD / HTTP/1.1" 200 314 "-" "Wget/1.13.4 (linux-gnu)"
Casual Coder

20

Nie ma potrzeby zwijania się .

W przypadku Wget dodanie --spideroznacza, że ​​chcesz wysłać HEADzapytanie (w przeciwieństwie do GETlub POST).

Jest to świetny minimalistyczny sposób sprawdzania, czy adres URL odpowiada, czy nie. Możesz na przykład użyć tego podczas sprawdzania skryptów, a HEADoperacja zapewni, że nie obciążysz ani sieci, ani docelowego serwera WWW.

Informacje o bonusie: Jeśli Wget otrzyma błąd HTTP 500 z serwera podczas jego wykonywania HEAD, przejdzie do wykonania GETprzeciw temu samemu adresowi URL. Nie znam uzasadnienia tego projektu. To jest powód, dla którego można zobaczyć zarówno HEAD iGET prośba wykonywane na serwerze. Jeśli nic nie jest nie tak, HEADwykonywane jest tylko żądanie. Możesz wyłączyć tę funkcję z --triesopcją ograniczenia Wget do tylko jednej próby.

Podsumowując, polecam to do testowania, czy adres URL odpowiada:

# 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

4

wget -S pobiera plik:

Content-Length: 2316, Length: 2316 (2.3K) [text / plain], Zapisywanie do: `index.html '

wget --spider dostaje nagłówki:

Tryb pająka włączony. Sprawdź, czy istnieje plik zdalny., Długość: nieokreślony [tekst / zwykły] Plik zdalny istnieje.


-1

Chociaż nie wget, wiele perlinstalacji z lwpmodułem będzie miało HEADzainstalowane polecenie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.