Bezeichnung
easy:SetOpt_FollowLocation -- folgt HTTP 3xx Umleitungen
Übersicht
easy:SetOpt_FollowLocation(enable)
Beschreibung
Ein Parameter, der auf 1 gesetzt ist, weist die Bibliothek an, jedem Location: Header zu folgen, die der Server als Teil eines HTTP-Headers in einer 3xx-Antwort sendet. Der Location: Header kann eine relative oder absolute URL angeben, dem er folgen soll.

libcurl wird eine weitere Anfrage für die neue URL stellen und dem neuen Location: Header folgen: Den ganzen Weg, bis keine solchen Header mehr zurückgegeben werden. #CURLOPT_MAXREDIRS kann verwendet werden, um die Anzahl der Umleitungen zu begrenzen, die libcurl folgen wird.

libcurl begrenzt die Protokolle, denen es automatisch folgt. Die akzeptierten Protokolle werden mit #CURLOPT_REDIR_PROTOCOLS gesetzt. Standardmäßig erlaubt libcurl alle Umleitungsprotokolle, außer denen, die aus Sicherheitsgründen deaktiviert sind: Seit 7.19.4 sind FILE und SCP deaktiviert, seit 7.40.0 sind auch SMB und SMBS deaktiviert.

Wenn Sie einem Location: Header folgen, bestimmt der 3xx-Antwortcode, der ihn umgeleitet hat, auch, welche Anforderungsmethode er in der nachfolgenden Anforderung verwenden wird: Für 301, 302 und 303 Antworten wechselt libcurl die Methode auf GET, es sei denn, #CURLOPT_POSTREDIR weist libcurl anders an. Alle anderen 3xx-Codes lassen libcurl die gleiche Methode wieder senden.

Für Benutzer, die der Meinung sind, dass die bestehende Standortverfolgung zu naiv oder zu einfach ist oder einfach nur Funktionen fehlen, ist es sehr einfach, stattdessen Ihre eigene Umleitungs-Verfolgungslogik mit der Verwendung der #CURLINFO_REDIRECT_URL-Option vom Befehl easy:GetInfo() zu implementieren, anstatt #CURLOPT_FOLLOWLOCATION zu verwenden.

Eingaben
enable
Eingabewert

Navigation zeigen