Spiegeln einer Website hinter einem Anmeldeformular

9

Kurzfassung:

  • Ich möchte eine Offline-Kopie einer URL erstellen, die die vollständigen HTML + CSS + JS + -Bilder enthält, und diese lokal speichern, wobei die Struktur und der Dateiinhalt der ursprünglichen Site beibehalten werden.
  • Ich habe Probleme mit den Tools, die ich finden kann (z. B. Firefox-Erweiterung "Save Complete", HTTrack, wget, Teleport Pro), auch weil sich die URL hinter einem Anmeldeformular befindet.

Längere Version:

Wenn ich an meiner App arbeite, möchte ich häufig eine Offline-Vollversion von HTML + CSS + JS + Bildern erstellen, um sie an den Designer zu senden, mit dem ich arbeite. Dieser nimmt Änderungen vor und sendet sie zurück. Ich wende dann die Änderungen auf die App an.

Dies hat sich als viel effizienter herausgestellt, als wenn er / sie mit einer Live-App durch unseren Code navigiert, aber es gibt einen Haken: Ich kann keine bequeme Spiegelungs-App finden.

Firefox-Erweiterungen wie "Save Complete" haben das Anmelde-Cookie bereits. Es ist also egal, ob sie sich hinter einem Anmeldeformular befinden, aber sie entstellen die lokal gespeicherten Dateien und machen es unmöglich, mit ihnen zu arbeiten.

Spiegelungswerkzeuge wie wget oder Teleport Pro unterstützen unser Anmeldeformular nicht.

HTTrack soll zwar im Proxy-Modus ausgeführt werden können, um die Anmeldeinformationen zu erkennen, aber ich konnte es nie zum Laufen bringen. Als Fallback kann es Cookies akzeptieren, die ich fest in seine Datei cookies.txt verdrahtet habe, aber ich brauche immer Stunden, um dies zuverlässig zu tun.

Gibt es Tools, Browsererweiterungen usw., die dies tun könnten? Open Source, kommerziell - alles. Wenn ich HTTrack missbraucht habe und es eigentlich trivial ist, ist das auch eine gute Antwort.

orip
quelle

Antworten:

7

Mit HTTrack können Sie beim Herunterladen eine Cookies.txt-Datei verwenden . Ich habe es verwendet, um eine Moodle-Site erfolgreich zu spiegeln.

TheLQ
quelle
Danke - das habe ich schon mit HTTrack gemacht, aber aus irgendeinem Grund brauche ich immer mehrere Versuche, um es zum Laufen zu bringen, obwohl ich keinen Grund dafür sehe. Haben Sie jemals die integrierte Unterstützung für die Formularauthentifizierung zum Laufen gebracht? Für meine Seite hat es nie funktioniert. httrack.kauler.com/help/CatchURL_tutorial
orip
2
Ich habe mich mit meinem Browser angemeldet und die Datei cookies.txt exportiert, die Abmeldeseite zur Blacklist hinzugefügt und laufen lassen. Ich habe ein paar Versuche
unternommen,
5

Ich habe dies erfolgreich mit WinHTTrack gemacht . Sie können das normale Verfahren zum Erfassen einer Website mit zwei geringfügigen Änderungen an den Einstellungen befolgen:

  1. Öffnen Sie in Chrome Dev Tools und melden Sie sich bei der Website an, die Sie erfassen möchten. Klicken Sie auf der Registerkarte Netzwerk auf die HTML-Seite, die Sie angefordert haben, um Ihr Sitzungscookie zu finden (der Name dieses Cookies hängt vom verwendeten Back-End-Framework ab). Platzieren Sie dies in HTTrack unter "Zusätzliche HTTP-Header".

  2. Stellen Sie außerdem sicher, dass die Zeichenfolge Ihres Benutzeragenten übereinstimmt, da Sitzungen manchmal blockiert werden, wenn die Zeichenfolge des Benutzeragenten geändert wird.

    Anmeldung für Sitzungscookies bei HTTrack

  3. Starten Sie den Download der Site. Das Ergebnis sollte so sein, als wären Sie angemeldet.

Simon East
quelle
3

Haben Sie Offline Explorer ausprobiert ?

Ich erinnere mich, dass Sie sich so etwas anmelden konnten, um Cookies für nachfolgende Anfragen zu speichern und den Rest zu erledigen. Ich bin mir nicht 100% sicher, da ich es vor langer Zeit benutzt habe.

Pablo
quelle
Genial, scheint, als ob die Pro-Version POST in Formulare unterstützt, ich werde es überprüfen
orip
Es dauerte eine Weile, bis ich es herausgefunden hatte, und die Dokumentation war spärlich, aber ich erkannte, dass ich mich mit dem eingebetteten IE-basierten Browser in das Formular einloggen und dann "Den nächsten angeklickten Link als Projekt hinzufügen" auswählen konnte. Die "Autosave" -Funktion war auch nett, obwohl sie gelegentlich meinen Formularbeitrag durcheinander brachte. Ich werde es 30 Tage lang bewerten, könnte das sein, wonach ich suche.
Orip
2

Mit Teleport Pro können ein Login und ein Passwort verwendet werden.

Wenn Sie einen Assistenten für neue Projekte starten, werden Sie an einem Punkt angelangt sein, an dem Sie diese Option erhalten (ich denke, sie befindet sich im dritten Bildschirm der Optionen).

Und selbst wenn Sie es verpassen, können Sie wieder auf diese Option zugreifen.

Klicken Sie im Hauptfenster (nachdem Sie den Projektassistenten durchlaufen haben) mit der rechten Maustaste auf Ihr Projekt (kleines Ordnersymbol mit der URL, die Sie herunterladen möchten, im linken Bereich) und Starting Address Propertieswählen Sie die letzte Option aus. Daraufhin wird ein Optionsbildschirm angezeigt Hier können Sie eine Benutzeranmeldung und ein Kennwort angeben, die auf dieser Site verwendet werden sollen.

Helfer
quelle
Dies ist eine alte Frage, aber teleport pro unterstützt http auth und gibt keine Daten in POST-Formulare ein.
Gefälschter Name