Comment récupérer un formulaire dans Firefox * sans * installer un plugin? [dupliquer]

33

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

J'ai tapé quelques paragraphes sur un forum de discussion, mais lorsque j'ai cliqué sur le bouton d'envoi, le site faisait l'objet d'une maintenance (non) programmée, et le bouton précédent a décidé d'actualiser la page, renvoyant ainsi mes paragraphes à l'oubli.

Une recherche rapide sur le Web a révélé que Lazarus fournit une récupération de formulaire pour Firefox. Cependant, l'installation d'un plugin nécessite le redémarrage de Firefox, et même après le redémarrage de Firefox (ce que je n'ai pas encore fait), Lazarus ne peut pas récupérer les formulaires qu'il n'a pas encore sauvegardés.

Maintenant que le cheval est sorti de l'étable, je veux faire l'impossible: restaurer tout ou partie du texte que j'ai tapé, sans avoir à redémarrer mon navigateur.


Edit : Je devrais clarifier. Lazarus est une solution formidable pour prévenir les futures pertes de données de formulaire. Cette question s'adresse aux personnes qui ont déjà quitté leur fiche et en ont perdu le contenu, mais espérons qu'il y a un moyen de sauver la situation. Ma solution consistait à obtenir un fichier de base du processus et à passer par grep, mais il pourrait y avoir un moyen simple de le faire (par exemple, demander à Firefox de charger la version mise en cache de la page précédente). Ainsi, les solutions qui ne résolvent que le problème à l'avenir, sans aborder le présent, sont hors sujet dans cette question.

Joey Adams
la source
1
Je pense que vous avez répondu à votre propre question ici ...
John T
2
@ John T: En effet. Je ne fais que créer du contenu Google pour les autres personnes qui ont le même problème, mais si quelqu'un a de meilleures suggestions, il est le bienvenu.
Joey Adams
8
Ce n'est pas un doublon exact. Les principales réponses à la question référencée nécessitent l'installation d'un plug-in, ce qui n'aide pas l'utilisateur s'il a déjà perdu le formulaire.
Joey Adams
J'ai couru dans la même situation. Une solution serait très agréable. Même en cas de perte future de données de formulaire , je cherche également une solution. Lazare est prometteur, mais il a la légère faiblesse de ne pas travailler du tout.
Nicolas Barbulesco
1
superuser.com/questions/512669/… est pertinent et m'a fourni une solution de travail via la technique des outils de développement Web.
pbhj

Réponses:

57

Ne redémarrez pas votre navigateur et n'appuyez pas sur le bouton retour!

Sous Linux:

Cette solution est aléatoire, et fonctionne sous Linux. En bref: vider la mémoire du processus Firefox et chercher dans celui-ci des fragments de votre texte. C'est moche, mais c'est votre dernier recours.

Commencez par dump core à l'aide de l' gcoreutilitaire, qui nécessite l'installation de gdb (le débogueur GNU):

$ ps -e | grep firefox
 7089 ?        00:02:23 firefox
$ gcore 7089
[New Thread 0xa8ffeb70 (LWP 8924)]
[New Thread 0xb25feb70 (LWP 8531)]
[New Thread 0x9d7feb70 (LWP 8527)]
... snip ...
[New Thread 0xb5ffeb70 (LWP 7099)]
[New Thread 0xb67ffb70 (LWP 7098)]
[New Thread 0xb72f8b70 (LWP 7097)]
Saved corefile core.7089

Notez qu'un vidage mémoire peut prendre plusieurs centaines de mégaoctets d'espace disque.

Si cela réussit, vous pouvez maintenant pousser un soupir de soulagement. Si votre texte restait en mémoire par hasard, il a été capturé dans le dump principal.

Maintenant, essayez de vous rappeler une phrase de votre essai (par exemple, "un effet profond") et utilisez-la greppour voir si elle est présente dans le document:

$ grep 'a profound effect' core.7089 
Binary file core.7089 matches

Si vous obtenez "fichier binaire ... correspond", tant mieux, c'est là! Sinon, essayez plus de phrases. Si toutes vos greptentatives produisent des résultats vides, votre essai est probablement parti pour toujours et vous ne pouvez rien y faire. (Tu peux essayergrep -R 'a profound effect' ~/.mozilla , mais je doute que cela fonctionne)

En supposant que vous obteniez une correspondance, la tâche suivante consistera à découper des parties du fichier de vidage contenant le texte que vous recherchez et à vous en servir lesspour les visualiser:

$ grep -B 20 -A 20 -a 'a profound effect' core.7089 > /tmp/out
$ less /tmp/out

(Vous pouvez omettre la première ligne et simplement dire less core.7089, mais j'ai constaté que cela lesstend à exploser dans l'utilisation de la mémoire lors de la recherche dans un fichier aussi volumineux.)

Maintenant, tapez /a profound effect, appuyez sur Entrée, attendez et page suivante jusqu'à ce que vous voyiez quelque chose de reconnaissable:

texte alternatif

Bam! Si vous n'aimez pas ce résultat, voyez s'il en existe d'autres en tapant 'n'. Assurez-vous également de relire la corbeille pour ne pas poster:

mon esprit va souvent générer des idées d’expression dans cette langue.

J'imagine que ça se brouille comme ça parce que la mémoire contenant vos fragments de test n'est plus allouée et est piétinée par les allocations suivantes.

Sous Windows:

La procédure est la même. Tout d’abord, créez un core dump de Firefox. Cela peut être accompli dans le gestionnaire de tâches. En anglais, l'entrée de menu est Créer un fichier de vidage .

Dumping du noyau firefox

Le déchargement prend quelques secondes.

Emplacement de la mémoire mémoire

Ensuite, utilisez un éditeur hexadécimal tel que http://mh-nexus.de/en/hxd/ pour ouvrir le dump et recherchez le texte perdu.

HxD pour la recherche de la décharge

Joey Adams
la source
1
Travaillé pour moi sous Windows même après avoir appuyé sur le bouton Retour. C'est encore plus laborieux maintenant avec de nombreux processus créés par Firefox, mais après les avoir tous sauvegardés et avoir utilisé un outil (gestionnaire de fichiers FAR) pour rechercher simultanément plusieurs codages, cela a fonctionné (mon résultat était UTF-16 little endian).
alexandroïde
Travaillé avec chrome sur Linux. J'ai dû actualiser la page pour déterminer le processus suivi par la page htop(chrome semble créer beaucoup de threads).
passerby51
1

Première chose - les formulaires ne sont généralement pas mis en cache. Ainsi, tout ce que vous avez soumis est envoyé sur le site et s'il est supprimé, vous avez terminé. vous devez le retaper.

Lazarus utilise une base de données SQLite pour stocker vos données de formulaire (bien sûr, seulement après l’installation).

ps: le core-dump est une tentative mignonne de faire le nécessaire, mais je me demande s’il ya un avantage en termes de coût à l’effort (cela serait plus utile en tant que technique de spyware / malware - aucune infraction à Joeyce stade- ci).

nik
la source
1
En fait, la technique de vidage de la mémoire s'est révélée plus facile que prévu.
Joey Adams
@ Joey, il l'a fait pour vous et ensuite vous l'avez déclaré la solution à votre propre problème. Je me demande à quel point cela va marcher pour tous ceux qui se heurtent au même problème - devraient-ils installer des choses comme Lazarus ou attendre d’obtenir un dépotoir et tenter leur chance? Si tel est le cas, il serait utile de garder à l’esprit le fonctionnement des deux choses.
Nik
1
En fait, la technique du noyau déchargé m’était très utile et très simple à faire.
lvella
2
Contre future forme de perte de données, Lazare est prometteur, mais il a la légère faiblesse de ne pas travailler du tout.
Nicolas Barbulesco