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?

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 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

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 ...


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


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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.