Shell-Befehl zum Anzeigen der HTTP-Header

37

Gibt es einen Shell-Befehl, um die Header einer HTTP-Anforderung anzuzeigen?

Zum Beispiel möchte ich wissen, woraus die Überschriften www.example.com/test.phpstammen

Wie kann ich das machen?

Damiano
quelle

Antworten:

43

Versuchen Sie Folgendes, um nur den Header abzurufen:

curl -I example.com

Von der manSeite:

-I / - head
(HTTP / FTP / FILE) Holt nur den HTTP-Header! HTTP-Server verfügen über den Befehl HEAD, mit dem nur der Header eines Dokuments abgerufen wird. Bei Verwendung für eine FTP- oder FILE-Datei zeigt curl nur die Dateigröße und den Zeitpunkt der letzten Änderung an.

Bis auf weiteres angehalten.
quelle
Außerdem -D <file>werden die Header in einer Datei gespeichert.
Coredump
11

Verwenden Sie zum Beispiel wget

wget -O - -o /dev/null --save-headers www.example.com/test.php
Dmytro Leonenko
quelle
Ja, aber ich möchte die Seite nicht auf meinem PC speichern ..... Ich möchte nur die Überschriften sehen
Damiano
2
Sie werden es nicht mit diesem Befehl speichern
Dmytro Leonenko
Ja, Sie füllen gerade/dev/null : p -O -schreibt die Überschriften an die Standardausgabe ("die Konsole")
Lekensteyn
Der Befehl gibt Header und ganze Seite an stdout aus. (Ubuntu 16.04, wget 1.17.1)
Frank Nocke
8

Das kannst du mit curl machen:

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

Ergebnis:

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

(aus irgendeinem Grund hat IANA beschlossen, example.com umzuleiten, Ergebnis: no body)

Locken Handbuch Seite über die -iOption:

-Ich füge bei

(HTTP) Beziehen Sie den HTTP-Header in die Ausgabe ein. Der HTTP-Header enthält Dinge wie Servername, Datum des Dokuments, HTTP-Version und mehr ...

Lekensteyn
quelle
6

Oder Sie können verwenden HEAD http://www.example.com. Das Ergebnis ist dem von sehr ähnlich, curl -i 'http://example.com/'obwohl es mehr Header zurückzugeben scheint.

200 OK
Verbindung: schließen
Datum: So, 20. März 2011, 19:08:58 GMT
Server: Apache / 2.2.3 (CentOS)
Inhaltslänge: 2945
Inhaltstyp: Text / HTML; Zeichensatz = UTF-8
Letzte Änderung: Mittwoch, den 09. Februar 2011 um 17:13:15 Uhr GMT
Client-Datum: So, 20. März 2011, 19:09:08 GMT
Client-Peer: 192.0.32.8:80
Kunden-Antwort-Nummer: 1
MrD
quelle
3

Verwenden Sie curl --includediese Option , um die Antwort-Header oben im Antwort-Body einzufügen.

oder curl --verboseum alles zu sehen, einschließlich SSL-Zertifikat, das den Handshake austauscht (plus andere Debug-Informationen)

Wenn die Anfrage selbst und auch der Antworttext nicht von Ihnen betroffen sind, verwenden Sie einfach curl --head

zum beispiel curl --head --no-check-certificate --url "https://example.com".

Sie können Gnu herunterladen, curldas für die meisten Plattformen bereits vorkompiliert ist. curl ist auch sehr nützlich, besonders wenn Sie das Ergebnis innerhalb eines Skripts weiterleiten oder umleiten möchten.
* Zum Beispiel: https://superuser.com/a/1007898/429721

Gemeinschaft
quelle