Egal, ob Sie einfache Anfragen oder komplexe APIs erstellen und debuggen, Curl ist ein hervorragendes Werkzeug für Ihre Fähigkeiten.
In diesem Tutorial wird das Konzept von HTTP -Weiterleitungen untersucht und wie wir Curl verwenden können, um sie in einer Anfrage zu befolgen.
Was ist eine HTTP -Umleitung?
Eine HTTP -Umleitung, die allgemein als Umleitung bezeichnet wird, bezieht sich auf eine Technik.
Es ist im Grunde das, was der Name vorschlägt. Wenn ein Client eine bestimmte Ressource anfordert, fordert der Client anstelle des Servers mit dem abfragten Ergebnis an, nach der Ressource an einem anderen Ort zu suchen.
Das Bild unten zeigt ein grundlegendes Konzept einer HTTP -Umleitung.
Quelle: Mozilla Developer -Netzwerk.
Das Folgende ist ein einfacher HTTP -Umleitungsheader.
Http/1.1 301 bewegte sich dauerhaft
Ort: https: // linuxhint.com
Im obigen Beispiel gibt der Server an, dass die Adresse http: // linuxHint.com ist dauerhaft auf https: // linuxhint übergegangen.com
Es gibt zwei Haupttypen von Umleitungen:
Permanente Weiterleitungen
Dies sind die Weiterleitungen, die für diese spezifische Anfrage dauern und nicht gültig sind. Eine dauerhafte Weiterleitung teilt dem Kunden mit, dass die angeforderte Ressource dauerhaft zu einer neuen Adresse übergegangen ist. Eine dauerhafte Weiterleitung wird mit dem HTTP -Statuscode 301 bezeichnet.
Vorübergehende Weiterleitungen
Auf der anderen Seite sagen vorübergehende Weiterleitungen dem Client, dass der Server zu einer neuen Ressource umleiten möchte. Diese Umleitung ist jedoch nicht dauerhaft und sollte diese Umleitung nicht zwischenstrahlen. Dies bedeutet, dass die Umleitung zu einem späteren Zeitpunkt nicht da sein wird.
Diese Art von Umleitung wird mit dem HTTP -Statuscode 302 bezeichnet.
Jetzt haben wir die Grundlagen von HTTP -Weiterleitungen, lassen Sie uns lernen, wie man Curl sagt, dass wir einer Redirect -Antwort folgen sollen.
Curl folgen Umleitung
Mit Curl können Sie eine Weiterleitung mit dem -l -Flag befolgen. Diese Flagge wird aus dem Standort -Header in einem Umleitungsvorgang abgeleitet.
Die Befehlssyntax ist wie gezeigt:
$ curl -l [URL]
Ein Beispiel für eine einfache Curl -Umleitung ist wie gezeigt:
curl -l http: // linuxhint.com
CULL SET MAX Redirects
Wenn Sie zulassen, dass Curl Ausleitungen folgt, kann es bis zu 50 Umleitungen durchführen. Sie können jedoch einen benutzerdefinierten Wert für die Weiterleitungen unter Verwendung des Parameters -max -Redirs festlegen.
Die Syntax ist wie gezeigt:
$ curl -l -max -rotirs [number] [URL]
Um beispielsweise ein Maximum von 5 Weiterleitungen festzulegen, können wir ausführen:
$ curl -l -max -redirs 5 http: // linuxHint.com
Curl ermöglichen unendliche Weiterleitungen
Es besteht kein Zweifel, dass Curl versuchen wird, Sie vor der Ausführung von unendlichen Weiterleitungen zu schützen. Wenn Sie also eine Anfrage stellen, die mehr als 20 Weiterleitungen zurückgibt, storniert Curl die Anfrage automatisch.
Sie können diese Option jedoch überschreiben, indem Sie den Parameter -max -Redirs auf -1 einstellen
Die Syntax ist wie gezeigt:
$ curl -l -max -rotirs -1 [URL]
CURL verhindern die Umwandlung von HTTP -Methoden
Wenn Sie bei einer HTTP -Postanforderung auf eine Weiterleitung stoßen.
Sie können jedoch verhindern, dass Curl einen Beitrag umwandelt, um zu erhalten.
Die Syntax wird gezeigt:
$ curl -l -post [STATUS_CODE] [URL]
Zum Beispiel, um zu verhindern, dass Curl umgewandelt wird, um zu erhalten, wenn es auf eine 301 -Umleitung stößt:
$ curl -l - -post301 [URL]
Curl Authenticat Direct
Möglicherweise müssen Sie bei einer Anfrage auth -Anmeldeinformationen bereitstellen. Wenn Curl jedoch auf eine Weiterleitung trifft, wird das Senden der Anmeldeinformationen aus Sicherheitsgründen verhindert.
Sie können dies überschreiben, indem Sie den Parameter -location -trust einstellen.
Die Syntax ist wie gezeigt:
$ curl -l -location -trusted --user "Benutzer: Passwort"
Abschluss
Mit diesem Tutorial haben wir festgestellt. Wir haben Konzepte wie die Befolgen einer einfachen Weiterleitung, die Anzahl der Umleitungen, unendlichen Weiterleitungen und die Curl -Authentifizierung in einer Umleitung behandelt.