Gibt es eine Möglichkeit, Weiterleitungen mit der Befehlszeilen-cURL zu verfolgen?


456

Ich weiß das in einem PHP-Skript:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

wird Weiterleitungen folgen. Gibt es eine Möglichkeit, Weiterleitungen mit der Befehlszeilen-cURL zu verfolgen?

Antworten:


762

Verwenden Sie das Standort-Header-Flag:

curl -L <URL>


1
Dies funktioniert auch nicht mit der Authentifizierung bei Google, um auf die Tabellen zuzugreifen. : /
Fatuhoku

13
man curl: "Wenn die Authentifizierung verwendet wird, sendet curl seine Anmeldeinformationen nur an den ursprünglichen Host. <...> Siehe auch --location-trusted, wie dies geändert werden kann."
Hudolejev

25

Ich hatte ein ähnliches Problem. Ich poste meine Lösung hier, weil ich glaube, dass sie einem der Kommentatoren helfen könnte.

Für mich war das Hindernis, dass für die Seite ein Login erforderlich war und ich dann eine neue URL über Javascript erhielt. Folgendes musste ich tun:

curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <URL>

Beachten Sie, dass j_username und j_password der Name der Felder für das Anmeldeformular meiner Website sind. Sie müssen die Quelle der Webseite öffnen, um zu sehen, wie der Name des Felds Benutzername und der Name des Passwortfelds in Ihrem Fall lauten. Danach gehe ich eine HTML-Datei mit Java-Skript, in die die neue URL eingebettet wurde. Nachdem Sie dies analysiert haben, senden Sie es einfach erneut mit der neuen URL:

curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <NEWURL>


15

Wie gesagt, um Weiterleitungen zu folgen , können Sie das Flag verwenden -Loder --location:

curl -L http://www.example.com

Aber, wenn Sie die Anzahl der Umleitungen begrenzen möchten , fügen Sie den Parameter--max-redirs

--max-redirs <num>

Legen Sie die maximal zulässige Anzahl von Umleitungsfolgen fest. Wenn -L, --locationverwendet wird, kann diese Option verwendet werden, um zu verhindern, dass Curl Umleitungen "in absurdum" folgt. Standardmäßig ist das Limit auf 50 Umleitungen festgelegt. Setzen Sie diese Option auf -1, um sie unbegrenzt zu machen. Wenn diese Option mehrmals verwendet wird, wird die letzte verwendet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.