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?
Je vous recommande d'installer Lazarus - il m'a sauvé suffisamment de fesses.
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)
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:
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.
Double-cliquez sur la ligne firefox.exe ou choisissez "Propriétés" dans le menu contextuel de firefox.exe.
Allez à l'onglet "Mémoire" et cliquez sur le bouton "Chaînes ..." dans le coin en haut à droite.
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".
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 :)
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)".
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é.
Regardez à travers les résultats. La plupart des chaînes seront visibles avec un caractère nul après chaque caractère, par exemple, foobar
sera 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>
.
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 ++.
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".
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.
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
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. :)
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.
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.
127.0.0.1
. Cela peut être fait avec un fichier hosts
.*** 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.
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.