Ist es mithilfe wget
von möglich, mehr als ein Benutzer-/Passwortpaar anzugeben, wenn eine Website gespiegelt wird, die mehrere passwortgeschützte Bereiche mit unterschiedlichen Anmeldeinformationen hat?
Ich möchte eine komplette Website spiegeln, die mehrere geschützte Bereiche hat. Als vereinfachtes Beispiel betrachten wir die folgende Struktur:
example.com/protected_area_1/ (user=alice, password=cat)
example.com/protected_area_2/ (user=bob, password=dog)
Jetzt wget --mirror example.com
können Sie bei der Verwendung zusätzlich die Parameter --user
und angeben --password
, aber durch die Angabe von nur einem Benutzer/Passwort-Paar konnte einer der beiden geschützten Bereiche aufgrund von nicht heruntergeladen werden 401 Authorization Required
.
Gibt es eine Möglichkeit, so etwas zu tun wget --user=alice --password=cat --user=bob --password=dog (...)
? In natürlicher Sprache:Wenn Sie auf einen passwortgeschützten Bereich stoßen, versuchen Sie, Zugriff zu erhalten, indem Sie nacheinander alle angegebenen Anmeldeinformationen ausprobieren.
Antwort1
Wenn dies geschehen muss mit wget
:
Wenn die Anzahl an Benutzernamen-/Passwortkombinationen gering ist und der Download nicht zu groß ist, können Sie den gesamten Baum mit jeder Kombination wiederholt ausführen (mit
--user
und--password
) und die Ergebnisse kombinieren.Wenn die verschiedenen Benutzer-/Passwortkombinationen von Domänen abhängen, können Sie
wget
die Optionen von--ask-password
und ausprobierenexpect
und die richtige zum richtigen Zeitpunkt angeben.
Für komplexere Downloadsituationen habe ich immer ein spezielles, auf Selenium basierendes Programm verwendet, das mit der aktuellen Praxis des Ladens von Teilen der Seiten mit JavaScript sowie mit anderen Anmeldeschemata als der grundlegenden Authentifizierung, die wget verarbeiten kann, korrekt umgeht.