Curl Header

Curl Header
Curl ist eines der hilfreichsten Tools bei der Arbeit mit URL -Datenübertragung. Es ist ein simpeles, aber mächtiges Dienstprogramm für Befehlszeilen, das die Datenübertragung von Daten über ein Netzwerk erleichtert.

In diesem Tutorial wird besprochen, wie Sie mit HTTP -Headern mit Curl arbeiten können.

Was ist ein HTTP -Header??

Ein HTTP -Header bezieht sich auf ein Feld in der HTTP -Anforderung oder Antwort, um die Übergabe zusätzlicher Informationen wie Metadaten zur Anforderung oder Antwort zu aktivieren.

Mit HTTP -Headern können ein Client und ein Server zusätzliche Informationen innerhalb einer bestimmten Anforderung oder Antwort austauschen. Der Header besteht aus einem Fall-sensitiven Namen, einem Dickdarm und dem Wert.

Die Syntax ist wie gezeigt:

Headername: Wert
"akzeptieren": "*/*",
"Host": "Echo.Hoppscotch.io ",
"Benutzer-Agent": "-O",
"X-Country": "wir",
"X-Forward-for": "41.90.68.25, 100.64.0.127 ",
"X-Forwarded-Proto": "Https",
"X-NF-Client-Connection-IP": "172.122.12.122 ",
"X-NF-Request-ID": "01G48DEPNS1QZF8BZ7YS27HZ93"

Lassen Sie uns lernen, wie wir mit HTTP -Headern mit Curl arbeiten können.

Curl installieren

In den meisten Systemen werden häufig Curl installiert. Wenn nicht, können Sie es über den Paketmanager Ihres Systems installieren.

Debian

$ sudo apt-Get-Update
$ sudo apt-get curl installieren

Rehl

$ sudo yum Update
$ sudo yum install curl

Manjaro/Arch

$ sudo pacman -Sy
$ sudo pacman -s curl

curl rohe Nachricht anzeigen

Um eine rohe Nachricht in einer Curl -Anforderung anzuzeigen, verwenden wir das -V -Flag oder -Verbose. Mit der Option können wir detaillierte Informationen zur Anfrage, einschließlich des Handshake -Vorgangs, anzeigen.

$ curl -v https: // echo.Hoppscotch.io
Versuchen 18.192.76.182: 443…
* Mit Echo verbunden.Hoppscotch.IO (18.192.76.182) Port 443 (#0)
* ALPN, der H2 anbietet
* ALPN, der HTTP/1 bietet.1
* CAFILE:/etc/ssl/certs/ca-zertifikate.crt
* Capath:/etc/ssl/certs
* SSL -Verbindung mit TLSV1.3 / tls_aes_128_gcm_sha256
* ALPN, Server akzeptiert, um H2 zu verwenden
* Serverzertifikat:
* Betreff: cn =*.Hoppscotch.io
* Startdatum: 26. Mai 06:07:56 2022 GMT
* Ablauf Datum: 24. August 06:07:55 2022 GMT
* SubjektALTNAME: Host "Echo.Hoppscotch.IO "Matched Cert's"*.Hoppscotch.io "
* Emittent: C = US; O = lass uns verschlüsseln; CN = R3
* SSL -Zertifikat überprüfen Sie OK.
* Mit HTTP2 unterstützt Server Multiplexing
* Verbindungszustand geändert (HTTP/2 bestätigt)
* Kopieren von HTTP/2 -Daten im Stream -Puffer zu Verbindungspuffer nach dem Upgrade: Len = 0
* Verwenden von Stream ID: 1 (einfaches Handle 0x55b037e12100)
> Get / http / 2
> Host: Echo.Hoppscotch.io
> Benutzer-Agent: Curl/7.81.0
> Akzeptieren: */ *
>
* Verbindungszustand geändert (max_concurrent_streams == 250)!
< HTTP/2 200
< access-control-allow-credentials: true
< access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept
< access-control-allow-methods: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD
< access-control-allow-origin: *
< age: 0
< cache-control: no-cache
< content-type: application/json
< date: Mon, 30 May 2022 20:52:52 GMT
< server: Netlify
< x-nf-request-id: 01G4BBWCR3VP8TV4HEJD0QG375
< content-length: 409
<
* Tlsv1.2 (in), TLS -Header, ergänzende Daten (23):

"Methode": "Get",
"Args": ,
"Daten": "",
"Header":
"akzeptieren": "*/*",
"Host": "Echo.Hoppscotch.io ",
"Benutzer-Agent": "Curl/7.81.0 ",
"X-Country": "Ke",
"X-Forward-for": "41.90.68.25, 100.64.0.210 ",
"X-Forwarded-Proto": "Https",
"X-NF-Client-Connection-IP": "41.90.68.25 ",
"X-NF-Request-ID": "01G4BBWCR3VP8TV4HEJD0QG375"
,
"Weg": "/",
"ISBase64Encoded": Falsch
* Verbindung #0 zum Host -Echo.Hoppscotch.IO ließ intakt

Aus der obigen Ausgabe können wir sehen, wie die Anforderung vom Server verarbeitet wird, beginnend mit dem Serverhandshake.

Der ausführliche Modus ist vorteilhaft beim Debugieren oder Finden von Missverständnissen auf dem Server.

Curl zeigen nur Header

Um die gesamte Ausgabe zu unterdrücken und nur die Header anzuzeigen, können wir das Kopfflag wie gezeigt verwenden:

$ curl - -Head https: // echo.Hoppscotch.io
Http/2 200
Access-Control-Allow-Credentials: TRUE
Access-Control-Allow-Header: Origin, X-Requested-with, Content-Typ, Akzeptieren
Access-Control-Allow-Methoden: Get, Post, Put, Patch, Löschen, Optionen, Kopf
Access-Control-Allow-Origin: *
Alter: 0
Cache-Control: No-Cache
Inhaltstyp: Anwendung/JSON
Datum: Mon, 30. Mai 2022 20:56:26 GMT
Server: netlify
X-NF-Request-ID: 01G4BC2XH5PMYM2CW57PJV2R1X
Inhaltslänge: 408

Der Befehl sollte nur die Antwortheader zurückgeben, wie in der obigen Ausgabe gezeigt.

Sie können den -o auch hinzufügen, gefolgt vom Zielpfad, um die Ausgabe abzugeben. Wenn Ihr Link beispielsweise eine Reihe von HTML zurückgibt, können Sie die Ausgabe in Dev/Null wie gezeigt umleiten:

$ curl -vs -o/dev/null https: // linuxHint.com

Der Befehl sollte die Ausgabe zu /dev /null umleiten.

Curl Pass Custom Headers

Wenn Sie eine HTTP -Anfrage stellen, müssen Sie möglicherweise benutzerdefinierte Header mit Curl übergeben. Sie können die Flagge -H -Flagge verwenden, gefolgt vom Header und dem Wert.

Betrachten Sie die unten gezeigte Syntax:

curl -h 'Header: Wert' http: // Beispiel.com

Zum Beispiel:

$ curl -h 'Akzeptierte Sprache: en-us' https: // echo.Hoppscotch.io

"Methode": "Get",
"Args": ,
"Daten": "",
"Header":
"akzeptieren": "*/*",
"Akzeptierte Sprache": "En-us",
"Host": "Echo.Hoppscotch.io ",
"Benutzer-Agent": "Curl/7.81.0 ",
"X-Country": "Ke",
"X-Forward-for": "41.90.68.25, 100.64.0.210 ",
"X-Forwarded-Proto": "Https",
"X-NF-Client-Connection-IP": "41.90.68.25 ",
"X-NF-Request-ID": "01G4BCGJYJ46YT05MVE7WTAYZT"
,
"Weg": "/",
"ISBase64Encoded": Falsch

Wir übergeben den akzeptierten Kopfball mit dem Wert en-us in der obigen Anfrage an die Ziel-URL.

Locken fügen mehrere Header hinzu

Um mehrere Header zu übergeben, können Sie das Flag -H -Flag zu verschiedenen Zeiten geben, wie in der folgenden Syntax gezeigt:

$ curl -h 'Header: Wert' -h 'Header: Wert' http: // Beispiel.com

Zum Beispiel:

$ curl -h 'Akzeptierte Sprache: en-us' -h 'X-Country: US' https: // echo.Hoppscotch.io

Sie können den festgelegten Wert in den resultierenden Headern wie gezeigt überprüfen:

Curl Pass leerer Kopfball

Sie können einen leeren Header mit der folgenden Syntax übergeben:

$ curl -h 'Header;' http: // Beispiel.com

Zum Beispiel:

curl -h 'akzeptierte Sprache;' https: // echo.Hoppscotch.io

Die resultierende Ausgabe ist wie gezeigt:

Beachten Sie, dass der Wert für den angegebenen Header leer ist.

Abschluss

In diesem Artikel wurden verschiedene Methoden und Techniken zur Verwendung von Header in Curl erörtert. Mit diesem Tutorial verstehen Sie, wie Sie Header in einer Anfrage anzeigen, einzelne oder mehrere Header senden und schließlich leere Header senden.