Plone mit authentifiziertem WGet auslesen
Hier wird erklärt wie man Plone mit wget auslesen kann. Wesentlich ist hierbei die Authentifizierung welche über cookies laufen kann.
Ziel: Ein Teil eines Plone-Portals als gerendertes HTML ablegen.
Wget kann alle möglichen hierarchischen HTML-Link-Strukturen herunterladen.
Einzig die Authentifikation muss wget beigebracht werden.
Plone mag seine Authentifikation über die login_form z.B.
http://inqbus-hosting.de/login_form
Die Login_Form verarbeitet einen POST Request und liefert im Gegenzug einen Cookie der für die weitere Authentifikation verwendet werden kann.
Die Parameter für den POST-Request sind
__ac_name=<Nutzername>
__ac_password=<Passwort>
form.submitted=1
form.submitted ist das Salz in der Suppe. Ohne diesen Parameter generiert
Plone keinen Cookie, auch wenn die Authentifikation funktioniert.
Als wget commandline sieht dass dann so aus:
wget --keep-session-cookies --save-cookies cookies.txt --post-data '__ac_name=MyUserName&__ac_password=MYPasswort&form.submitted=1' http://www.inqbus-hosting.de/login_form
Damit landet der Cookie vom Plone in der Datei cookies.txt.
Dieser kann dann von wget wieder geladen werden um weitere rekursive wget requests zu formulieren:
wget --load-cookies cookies.txt -r http://www.inqbus-hosting.de/support/dokumentation/index.html