Mise en miroir d'un site Web derrière un formulaire de connexion

10

Version courte:

  • Je voudrais prendre une copie hors ligne d'une URL qui inclut les images HTML + CSS + JS + complètes et les enregistre localement, en conservant la structure et le contenu du fichier du site d'origine.
  • J'ai des problèmes avec les outils que je peux trouver (par exemple, l'extension Firefox "Save Complete", HTTrack, wget, Teleport Pro) en partie parce que l'URL se trouve derrière un formulaire de connexion.

Version plus longue:

Lorsque je travaille sur mon application, je souhaite souvent prendre une version complète hors ligne HTML + CSS + JS + images à envoyer au concepteur avec lequel je travaille, qui apporte des modifications et la renvoie. J'applique ensuite les modifications à l'application.

Cela s'est avéré beaucoup plus efficace que de le faire naviguer dans notre code avec une application en direct, mais il y a un hic - je ne trouve pas d'application de mise en miroir qui soit pratique.

Les extensions de Firefox comme "Save Complete" ont déjà le cookie de connexion, alors ne vous souciez pas qu'elles se trouvent derrière un formulaire de connexion, mais elles modifient les fichiers enregistrés localement, ce qui rend impossible de travailler avec eux.

Les outils de mise en miroir comme wget ou Teleport Pro ne prennent pas en charge notre formulaire de connexion.

HTTrack, cependant, est censé pouvoir s'exécuter en mode proxy pour détecter les informations de connexion, mais je n'ai jamais pu les faire fonctionner. En guise de solution de rechange, il peut accepter les cookies que j'ai câblés dans son fichier cookies.txt, mais cela me prend toujours des heures pour le faire de manière fiable.

Des outils, extensions de navigateur, etc. qui pourraient le faire? Open source, commercial - n'importe quoi. Si j'ai abusé de HTTrack et que c'est en fait trivial à faire - c'est aussi une excellente réponse.

orip
la source

Réponses:

7

Avec HTTrack, vous pouvez utiliser un fichier cookies.txt lors du téléchargement. Je l'ai utilisé pour reproduire avec succès un site moodle.

TheLQ
la source
Merci - je l'ai déjà fait avec HTTrack, mais pour une raison quelconque, il me faut toujours plusieurs essais pour le faire fonctionner, même si je ne vois pas pourquoi. Avez-vous déjà fait fonctionner la prise en charge de l'authentification par formulaires intégrée? Cela n'a jamais fonctionné pour mon site. httrack.kauler.com/help/CatchURL_tutorial
orip
2
Ce que j'ai fait, c'est me connecter avec mon navigateur et exporter le fichier cookies.txt, ajouter la page de déconnexion à la liste noire et la laisser s'exécuter. Cela m'a pris quelques essais en raison de la stupidité de Moodle, mais je l'ai fait fonctionner
TheLQ
5

Je l'ai fait avec succès avec WinHTTrack . Vous pouvez suivre la procédure normale de capture d'un site Web, avec deux réglages mineurs:

  1. Dans Chrome, ouvrez Dev Tools, puis connectez-vous au site Web que vous souhaitez capturer. Dans l'onglet Réseau, cliquez sur la page HTML que vous avez demandée pour trouver votre cookie de session (le nom de celui-ci variera en fonction du framework back-end utilisé). Placez-le dans HTTrack sous "En-têtes HTTP supplémentaires".

  2. Assurez-vous également que votre chaîne d'agent utilisateur correspond, car les sessions sont parfois bloquées si la chaîne d'agent utilisateur est modifiée.

    Connexion au cookie de session dans HTTrack

  3. Commencez à télécharger le site. Le résultat devrait être comme si vous étiez connecté.

Simon East
la source
3

Avez-vous essayé Offline Explorer ?

Je me souviens de quelque chose comme cela vous permettrait de vous connecter, enregistrant ainsi les cookies pour les demandes conséquentes et fera le reste. Pas sûr à 100% car je l'utilisais depuis longtemps.

Pablo
la source
Génial, on dirait que la version Pro prend en charge le POST dans les formulaires, je vais le vérifier
orip
Il m'a fallu un certain temps pour le comprendre et la documentation était rare, mais j'ai réalisé que je pouvais utiliser le navigateur intégré basé sur IE pour me connecter au formulaire, puis choisir "Ajouter le lien cliqué suivant en tant que projet". La fonctionnalité "sauvegarde automatique" était également très bien, même si elle gâchait mon message de formulaire de temps en temps. Je vais l'évaluer pendant 30 jours, c'est peut-être ce que je recherche.
orip
2

Teleport Pro permet d'utiliser un identifiant et un mot de passe.

Lorsque vous démarrez un Assistant Nouveau projet, vous arriverez à un point où il vous donnera cette option (je pense que c'est dans le troisième écran d'options).

Et même si vous le manquez, vous pouvez accéder à nouveau à cette option.

Dans la fenêtre principale (après avoir traversé l'assistant de projet), faites un clic droit sur votre projet (petite icône de dossier affichant l'URL que vous essayez de télécharger, dans le volet gauche) et choisissez la dernière option Starting Address Propertieset un écran d'options s'affiche. où vous pouvez spécifier un nom d'utilisateur et un mot de passe à utiliser sur ce site.

Assistant
la source
C'est une question ancienne, mais teleport pro prend en charge l' authentification http , pas la saisie de données dans les formulaires POST.
Fake Name