Réponses:
Ce n'est pas wget, mais vous pouvez le faire assez facilement en utilisant curl.
curl -I http://www.superuser.com/
Produit cette sortie:
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
-Iest équivalent à --head.
https, vous pouvez également ajouter -kou--insecure
Essayer:
wget -S --spider www.example.com
Vous pouvez également passer -O /dev/nullpour empêcher wgetd'écrire une réponse HTTP dans un fichier.
-Sva montrer en- têtes, mais il exécute un GET, pas HEAD. En d'autres termes, il récupérera l'URL complète.
wget -S --spider http://localhostLe journal créé dans le serveur apache est127.0.0.1 - - [04/Mar/2014:15:36:32 +0100] "HEAD / HTTP/1.1" 200 314 "-" "Wget/1.13.4 (linux-gnu)"
Il n'y a pas besoin de curl .
Avec Wget, ajouter --spiderimplique que vous souhaitiez envoyer une HEADdemande (par opposition à GETou POST).
C'est une excellente façon minimaliste de vérifier si une URL répond ou non. Vous pouvez par exemple l'utiliser dans des contrôles par script, et l' HEADopération vous assurera de ne pas surcharger le réseau ni le serveur Web cible.
Informations sur le bonus: Si Wget obtient une erreur HTTP 500 du serveur lorsqu’il le fait, HEADil le fera ensuite pour utiliser GETla même URL. Je ne connais pas le raisonnement pour cette conception. C'est la raison pour laquelle une requête HEAD et une GETrequête peuvent être exécutées sur le serveur. Si rien ne va pas, seule une HEADrequête est effectuée. Vous pouvez désactiver cette fonctionnalité avec l' --triesoption de limiter Wget à une seule tentative.
En tout et pour tout, je le recommande pour tester si une URL répond:
# 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 obtient le fichier:
Content-Length: 2316, Length: 2316 (2.3K) [text / plain], Enregistrement dans: `index.html '
wget --spider obtient les en-têtes:
Mode Spider activé. Vérifier si le fichier distant existe., Longueur: non spécifié [text / plain] Le fichier distant existe.
Bien que non wget, de nombreuses perlinstallations avec lwpmodule auront une HEADcommande installée.