Ich habe 2 Seiten: xyz.com/a
und xyz.com/b
. Ich kann nur dann zugreifen, xyz.com/b
wenn ich mich zuerst anmelde xyz.com/a
. Wenn xyz.com/b
ich auf den anderen zugreife, ohne ihn zu durchlaufen, wird mir einfach der Zugriff verweigert (keine Weiterleitung zum Login) über den Browser. Sobald ich mich angemeldet habe xyz.com/a
, kann ich auf den anderen zugreifen.
Mein Problem ist dies mit dem Befehl curl. Ich kann mich erfolgreich xyz.com/a
bei Curl anmelden , versuche es dann aber xyx.com/b
und mir wird der Zugriff verweigert.
Ich benutze folgendes:
curl --user user:pass https://xyz.com/a #works ok
curl https://xyz.com/b #doesn't work
Ich habe versucht, die zweite Zeile mit & ohne Benutzer- / Kennwortteil zu verwenden und funktioniert immer noch nicht. Beide Seiten verwenden dieselbe Zertifizierungsstelle, das ist also kein Problem. Irgendwelche Vorschläge? Vielen Dank
somefile
enthält (/a
in diesem Fall) und nicht an den zweiten Aufruf weitergeleitet wird. Wenn ich das Cookie in der Datei bearbeite und nur einen Schrägstrich setze, funktioniert es (Cookie wird an den zweiten Aufruf weitergeleitet). Wissen Sie, ob es möglich ist, die Speicherung des Pfads in der Cookie-Datei zu verhindern?Möglicherweise möchten Sie sich auch über den Browser anmelden und den Befehl mit allen Headern einschließlich Cookies erhalten:
Öffnen Sie die Registerkarte Netzwerk der Entwicklertools, melden Sie sich an, navigieren Sie zur gewünschten Seite und verwenden Sie "Als cURL kopieren".
quelle
Nach einigem googeln fand ich folgendes:
Keine Ahnung, ob es funktioniert, aber es könnte Sie in die richtige Richtung führen.
quelle
Meine Antwort ist eine Modifikation einiger vorheriger Antworten von @JoeMills und @user.
Holen Sie sich einen
cURL
Befehl zum Anmelden am Server:Ändern Sie den Befehl cURL, um das Sitzungscookie nach der Anmeldung speichern zu können
-H 'Cookie: <somestuff>'
curl
am Anfang hinzu-c login_cookie.txt
'login_cookie.txt'
im selben Ordner erhaltenRufen Sie mit diesem neuen Cookie eine neue Webseite auf, für die Sie angemeldet sein müssen
curl -b login_cookie.txt <url_that_requires_log_in>
Ich habe dies unter Ubuntu 20.04 versucht und es funktioniert wie ein Zauber.
quelle