web-dev-qa-db-fra.com

Comment récupérer des informations de formulaire pour une page Web dans Firefox

J'ai rempli un long formulaire sur une page Web qui a rejeté ma soumission en raison d'une erreur de serveur. Je n'arrive pas à récupérer la saisie du formulaire.

Existe-t-il un moyen dans Firefox d’examiner les caches, l’historique, etc. pour récupérer ces informations?

25
Jason S

Je vous recommande d'installer Lazarus - il m'a sauvé suffisamment de fesses.

5
Sathyajith Bhat

Ouf! J'ai trouvé une solution - j'ai pu appuyer sur les boutons "Précédent" et "Suivant" avec l'extension " Live HTTP Headers " capturant le trafic entrant/sortant, et les informations de formulaire faisaient partie d'un POST réponse. (Firefox renverra la saisie de formulaire, ne sachant pas où est stocké, mais n'a pas de moyen intégré évident de l'afficher aux utilisateurs)

6
Jason S

Ma méthode a été testée dans un cas d'urgence (commentaire Facebook perdu). Il nécessite un outil tiers - ProcessHacker . C'est seulement pour Windows - pour une méthode Linux, vérifiez cette question . Il devrait fonctionner avec tous les navigateurs, pas seulement Firefox .

Il y a deux façons. Tout d’abord, c’est plus convivial , mais si votre PC plante, vous perdriez des données. La seconde est plus sécurisée , mais nécessite un outil supplémentaire. En second lieu, vous obtiendrez un fichier que vous pourrez donner à un expert, si ce tutoriel était trop difficile. Vous pouvez suivre les étapes 1 et 2 de la méthode II pour plus de sécurité, puis la méthode I pour faciliter les choses. J'ai utilisé Way I.

C'est la liste exacte des étapes que j'ai prises:

Façon dont je

  1. La première chose à faire est de mettre en pause le processus. Ceci est essentiel au succès . J'ai ouvert ProcessHacker (PH), j'ai trouvé firefox.exe dans la liste (vous pouvez cliquer sur la colonne "Nom" pour vous débarrasser de la vue arborescente et obtenir une vue liste) et dans le menu contextuel, j'ai utilisé "Suspendre". Il semblerait alors que Firefox est gelé. Si Windows vous demande si vous souhaitez mettre fin au processus ne répondant pas, ne le faites pas! C'est vivant, je ne fais que dormir.

  2. Double-cliquez sur la ligne firefox.exe ou choisissez "Propriétés" dans le menu contextuel de firefox.exe.

  3. Allez à l'onglet "Mémoire" et cliquez sur le bouton "Chaînes ..." dans le coin en haut à droite.

  4. J'ai utilisé les paramètres par défaut (la case [✓] est cochée, la case [] n'est pas cochée) - Min. len .: 10; [✓] Détecter Unicode; Rechercher dans [✓] Privé/[] Image/[] Mappé. Cliquez sur le bouton "OK".

  5. Après un certain temps (jusqu'à une minute, mais probablement quelques secondes), toutes les chaînes sont trouvées. Avec de tels paramètres, j'ai maintenant plus de 700 000 chaînes. Vérifie tous ceux qui recherchent le texte perdu . Je rigole! Aller au point suivant :)

  6. Cliquez sur "Filtre" en bas à gauche et choisissez l'élément de menu qui vous convient le mieux. J'ai utilisé "contient (insensible à la casse)".

  7. Entrez un mot qui était dans votre texte perdu. Word car certaines chaînes peuvent être enregistrées, par exemple, sous le nom "foo bar". Plus Word est long et unique, moins vous obtiendrez de résultats (ce sera donc plus facile). Si vous n'obtenez pas de résultats, essayez un autre mot. J'ai eu mon commentaire dans deux parties de la mémoire - l'une était pleine, l'autre juste la deuxième moitié.

  8. Regardez à travers les résultats. La plupart des chaînes seront visibles avec un caractère nul après chaque caractère, par exemple, foobarsera f.o.o.b.a.r (hex 66 00 6F 00 6F 00 62 00 61 00 72). Ne t'inquiète pas pour ça c'est la chose Unicode. Si vous trouvez votre texte, cliquez sur le bouton "Enregistrer ...". Mon commentaire ressemblait à du HTML, c.-à-d. Qu'il contenait des balises <div> et <span>.

  9. Ouvrez le fichier enregistré dans un éditeur prenant en charge Unicode. Je ne connais pas le bloc-notes intégré, mais cela devrait fonctionner. J'ai utilisé Notepad ++.

  10. Trouvez le texte, copiez la partie nécessaire. Dites "Hourra". Vous pouvez maintenant cliquer avec le bouton droit sur la ligne firefox.exe dans la fenêtre principale et choisir "Reprendre".

Voie II

  1. Répétez l'étape 1 de la manière I.
  2. Trouvez la ligne firefox.exe, cliquez dessus avec le bouton droit de la souris et choisissez "Créer un fichier de vidage ..." dans le menu contextuel.
  3. Utilisez un éditeur qui supporte le chargement de gros fichiers. Notepad ++ devrait le gérer, mais vous devez désactiver la coloration de la syntaxe et la vérification orthographique. Exemples: HxD (freeware, meilleure OMI), wxHexEditor (FLOSS).
  4. Allez à l'étape 10 de la manière I.
5
Krzysiu

Les versions modernes de Firefox intègrent des outils de développement pouvant être utilisés à cet effet. presse Ctrl+Shift+Q pour faire apparaître l'outil Réseau, appuyez sur F5 pour recharger la page (confirmez l'avertissement que le contenu sera soumis à nouveau, nous voulons que cela se produise exactement) et sélectionnez la ligne (probablement) la plus haute dans l'outil Réseau. Il devrait afficher POST comme méthode.

Sur le côté droit, un ensemble d'onglets apparaît. Celui qui nous intéresse, "Headers", devrait déjà être ouvert. Cliquez sur Edit and Resend pour obtenir le contenu complet de la demande. Le champ Request Body contient les données complètes de la demande sous forme codée en url. Exécutez-le dans un décodeur comme celui-ci pour récupérer vos données.

3
Roland W

Une autre solution possible pour récupérer vos données consiste à créer une copie de base de Firefox (en supposant que vous l’utilisez sous Linux ou similaire). Voir cette réponse pour plus de détails: https://superuser.com/a/236400/180675

2
erik

J'ai trouvé un nouvel addon qui peut être utilisé pour récupérer des postdata perdues: Contrôle de l'historique du formulaire

L'auteur affirme:

Ce plugin stocke également le texte des champs de l’éditeur au fur et à mesure de la frappe, pour que vous ne perdiez jamais votre travail en cas de catastrophe. Récupérez votre travail perdu après la fin de la session, les pannes de réseau, les pannes de navigateur, les pannes de courant et tout ce qui pourrait anéantir le travail acharné que vous venez de faire pour écrire cet important courrier électronique, cet essai ou ce blog.

EDIT: Oh, il a effectivement sauvé ce post. :)

2
Calmarius

Je crains que le contenu des formulaires ne soit pas mis en cache ... Les champs de saisie standard (une seule ligne) peuvent être enregistrés avec remplissage automatique , mais la zone de texte (plusieurs lignes, celle que vous avez probablement saisie) n'est pas disponible. 't.

1
BloodPhilia

Le navigateur Web possède ( définitivement les données du formulaire en mémoire. La difficulté est la suivante: Comment récupérer ces données?

Voici mon idée. Je ne l'ai pas essayé. Sur le papier , cela fonctionne. Cette réponse s’applique à Firefox et aux autres navigateurs Web.

En bref: Rechargez la page en examinant les en-têtes.

  1. Configurez la machine. Nous avons besoin d'une machine pour examiner le trafic HTTP envoyé à partir du navigateur Web.
    • Le meilleur choix est l'extension LiveHTTPHeaders pour Firefox. Mais je pense que l'installation de cette extension nécessite un redémarrage de Firefox. Ne redémarrez pas Firefox, bien sûr! Ce serait bien de pouvoir installer cette machine sans redémarrer Firefox. Sinon, vous devez simplement installer cette extension au préalable. Si besoin est, tilisez simplement une machine à remonter le temps . ;-)
    • Si vous ne pouvez pas avoir la machine prête dans le navigateur Web, il existe une autre option. Cette option est plus lourde. Mais sa force majeure réside dans le fait qu’il fonctionne pour tous les navigateurs Web, et sans les redémarrer. Installez un serveur Web simple ou configurez un serveur proxy (tel que Squid) sur votre ordinateur. Assurez-vous que votre serveur enregistre le trafic entrant avec les en-têtes complets. Et placez une règle dans le système d'exploitation pour rediriger toutes les demandes sortantes vers 127.0.0.1. Cela peut être fait avec un fichier hosts.
  2. Testez les machines. Créez une nouvelle fenêtre dans votre navigateur Web. Écrivez du texte dans Wikipedia ici, puis cliquez sur Aperçu . Ensuite, vérifiez que votre texte est bien visible sur votre ordinateur. Si votre machine est l'option serveur, vous devez désactiver la règle de redirection pour charger le formulaire Wikipedia, puis l'activer ultérieurement.
  3. Pour recharger la page, cliquez avec le bouton droit de la souris sur l'emplacement du formulaire, puis choisissez Recharger . C'est important . Dans certains courriels, cela rechargera uniquement le cadre dans lequel se trouvait le formulaire. Ici, nous voulons recharger le moins possible. Si vous cliquez sur le bouton Recharger dans la barre d'adresse ou dans la barre de boutons, ou si vous appuyez sur Apple R, vous risquez de recharger toute la page et, dans certains webmails, vous photographiez vous-même. dans le pied.
  4. Normalement, le navigateur Web vous demandera: Souhaitez-vous envoyer à nouveau les données du formulaire? Si vous avez cette question, c'est un bon signe. Choisissez Renvoyer .
  5. Examinez les POST données envoyées , avec la machine configurée à l'étape 1. Ici vous trouverez vos données recherchées
  6. Venez nous dire ici que cette solution a fonctionné!
1
Nicolas Barbulesco

*** Correction: bien que le ci-dessous fonctionne dans Firefox et Chrome, la capture instantanée dans Firefox génère un fichier binaire (gzip'd). Donc, pour l'instant, cette approche ne fonctionne que dans Chrome: (

Pour à la fois Firefox et Chrome, je pense qu’un moyen beaucoup plus simple, comparé à un dump central réel d’un processus système, consiste à utiliser les outils de développement.

Allez sur l'onglet Mémoire (anciennement appelé "Profils" dans Chrome), puis prenez un instantané et enregistrez-le dans un fichier (il ne s'agit que de texte). Recherchez ensuite dans le fichier un mot que vous savez avoir écrit dans votre formulaire - c’est probablement le moyen le plus rapide de rechercher le contenu complet.

Screenshot of Firefox Developer Tools – Memory tab

Je viens de le tester sur Chrome dans une page où un formulaire dynamique (JavaScript) se foirait tout seul et perdait tout le texte que j'avais écrit. C'était encore en mémoire et je pourrais le récupérer même si je ne l'avais pas encore envoyé!

Voir https://developer.mozilla.org/en-US/docs/Tools/Memory et https://developers.google.com/web/tools/chrome-devtools/ memory-problem/heap-snapshots pour plus de détails.

1
Kamal