Commande Shell pour voir les en-têtes HTTP

37

Existe-t-il une commande shell permettant de voir les en-têtes d'une requête HTTP?

Par exemple, je voudrais savoir ce que les en- têtes récupérés à partir www.example.com/test.phpAre

Comment puis-je faire ceci?

Damiano
la source

Réponses:

43

Afin de récupérer uniquement l'en-tête, essayez ceci:

curl -I example.com

De la manpage:

-I / - head
(HTTP / FTP / FILE) Récupère uniquement l'en-tête HTTP! Les serveurs HTTP disposent de la commande HEAD qui permet d'obtenir uniquement l'en-tête d'un document. Curl affiche uniquement la taille du fichier et l'heure de la dernière modification, lorsqu'il est utilisé sur un fichier FTP ou FILE.

En pause jusqu'à nouvel ordre.
la source
En outre, -D <file>enregistrera les en-têtes dans un fichier.
Coredump
11

Utilisez wget par exemple

wget -O - -o /dev/null --save-headers www.example.com/test.php
Dmytro Leonenko
la source
oui, mais je ne veux pas sauvegarder la page sur mon pc ..... je veux seulement voir les en
Damiano
2
Vous ne l'enregistrerez pas avec cette commande
Dmytro Leonenko
Yup, vous remplissez juste/dev/null : p -O -écrit les en-têtes sur la sortie standard ("la console")
Lekensteyn
La commande affiche les en-têtes et la page complète sur stdout. (Ubuntu 16.04, wget 1.17.1)
Frank Nocke
8

Vous pouvez le faire avec curl:

curl -i 'http://example.com/'

Résultat:

HTTP/1.0 302 Found
Location: http://www.iana.org/domains/example/
Server: BigIP
Connection: Keep-Alive
Content-Length: 0

(pour une raison quelconque, l'IANA a décidé de rediriger example.com, résultat: aucun corps)

Curls page de manuel sur l' -ioption:

-j'inclus

(HTTP) Incluez l'en-tête HTTP dans la sortie. L'en-tête HTTP comprend des éléments tels que nom du serveur, date du document, version HTTP et plus encore ...

Lekensteyn
la source
6

Ou vous pouvez utiliser HEAD http://www.example.com. Le résultat est très similaire à celui produit par curl -i 'http://example.com/'bien qu'il semble renvoyer plus d'en-têtes.

200 OK
Connexion: fermer
Date: Dim 20 mars 2011 19:08:58 GMT
Serveur: Apache / 2.2.3 (CentOS)
Longueur du contenu: 2945
Type de contenu: text / html; jeu de caractères = UTF-8
Dernière mise à jour: mer., 09 févr. 2011 17:13:15 GMT
Client-Date: Dim 20 Mars 2011 19:09:08 GMT
Client-Peer: 192.0.32.8:80
Réponse du client: 1
MrD
la source
3

Utilisez cette option curl --includepour inclure les en-têtes de réponse dans la partie supérieure du corps de réponse.

ou curl --verbosepour tout voir, y compris le certificat SSL échangeant la poignée de main (plus d'autres informations de débogage)

si la requête elle-même et le corps de la réponse ne vous concernent pas, utilisez simplement curl --head

par exemple curl --head --no-check-certificate --url "https://example.com".

Vous pouvez télécharger gnu curldéjà pré-compilé pour la plupart des plateformes. curl est également très utile, surtout si vous souhaitez diriger ou rediriger le résultat dans un script.
* par exemple: https://superuser.com/a/1007898/429721

Communauté
la source