Vielleicht 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".
Die Website verwendet wahrscheinlich Cookies, um Ihre Sitzungsinformationen zu speichern. Beim Laufen
curl --user user:pass https://xyz.example/a #works ok
curl https://xyz.example/b #doesn't work
curl
wird zweimal in zwei getrennten Sitzungen durchgeführt. Wenn also der zweite Befehl ausgeführt wird, sind die vom ersten Befehl gesetzten Cookies nicht verfügbar; es ist genauso, als ob Sie sich auf Seite a
angemeldet hätten in einer Browsersitzung und versuchte, auf die Seite b
zuzugreifen in einem anderen.
Was Sie tun müssen, ist speichern die durch den ersten Befehl erstellten Cookies:
curl --user user:pass --cookie-jar ./somefile https://xyz.example/a
und lesen Sie sie dann wieder ein, wenn Sie die zweite ausführen:
curl --cookie ./somefile https://xyz.example/b
Alternativ können Sie versuchen, beide Dateien mit demselben Befehl herunterzuladen, der meiner Meinung nach dieselben Cookies verwendet.
Nach einigem googeln habe ich das hier gefunden:
curl -c cookie.txt -d "LoginName=someuser" -d "password=somepass" https://oursite/a
curl -b cookie.txt https://oursite/b
Keine Ahnung, ob es funktioniert, aber es könnte Sie in die richtige Richtung führen.