Je voudrais envoyer la HTTP HEAD
demande en utilisant wget
. C'est possible?
52
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
-I
est équivalent à--head
.https
, vous pouvez également ajouter-k
ou--insecure
Essayer:
Vous pouvez également passer
-O /dev/null
pour empêcherwget
d'écrire une réponse HTTP dans un fichier.la source
-S
va montrer en- têtes, mais il exécute unGET
, pasHEAD
. En d'autres termes, il récupérera l'URL complète.wget -S --spider http://localhost
Le 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
--spider
implique que vous souhaitiez envoyer uneHEAD
demande (par opposition àGET
ouPOST
).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'
HEAD
opé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,
HEAD
il le fera ensuite pour utiliserGET
la même URL. Je ne connais pas le raisonnement pour cette conception. C'est la raison pour laquelle une requêteHEAD
et uneGET
requête peuvent être exécutées sur le serveur. Si rien ne va pas, seule uneHEAD
requête est effectuée. Vous pouvez désactiver cette fonctionnalité avec l'--tries
option de limiter Wget à une seule tentative.En tout et pour tout, je le recommande pour tester si une URL répond:
la source
wget -S
obtient le fichier:wget --spider
obtient les en-têtes:la source
Bien que non
wget
, de nombreusesperl
installations aveclwp
module auront uneHEAD
commande installée.la source