Come recuperare le informazioni sui moduli per una pagina Web in Firefox


26

Ho compilato un lungo modulo su una pagina Web che ha respinto la mia richiesta a causa di un errore del server. Non riesco a recuperare l'input del modulo.

Esiste un modo in Firefox per esaminare cache, cronologia, ecc. Per recuperare queste informazioni?

Risposte:


5

Ti consiglierei di installare Lazarus - mi ha salvato il culo abbastanza volte.


3
Lazzaro è promettente. Ma, ahimè, Lazzaro è morto (!). Lazzaro non funziona. Il modulo di contatto sul sito è rotto. E lo sviluppatore non risponde.
Nicolas Barbulesco,

Anche Lazzaro è in qualche modo in conflitto con il firebug.
Tomáš Zato - Ripristina Monica il

Certo, è "morto" e lo sviluppatore sembra essere MIA, ma funziona ancora per me.
Animadversor

@Animadversor Non funziona più in Firefox v53, a causa dell'incompatibilità (come riportato da Firefox all'avvio).
David Balažic,

2
Gli strumenti "salva-forma" come Lazarus devono essere installati prima di perdere i dati, non dopo. OP chiede informazioni sul recupero dei dati persi.
user598527

6

Meno male! Ho trovato una soluzione: sono stato in grado di premere il pulsante "indietro" e "avanti" con l' estensione " Intestazioni HTTP in tempo reale" per acquisire il traffico in entrata / in uscita e le informazioni sul modulo facevano parte di una risposta POST. (Firefox rinvia l'input del modulo, non è sicuro di dove sia archiviato, ma non ha alcun modo ovvio incorporato per mostrarlo agli utenti)


2
Penso che sia memorizzato nella RAM, dal momento che puoi premere "Indietro" per tornare al modulo con i tuoi dati compilati, ma non ho mai sentito parlare di Firefox ripristinare quei valori del modulo dopo aver chiuso e riavviato il browser.
David Z

Potresti voler installare Lazarus [ addons.mozilla.org/en-US/firefox/addon/6984 ], se succede qualcosa del genere.
Sathyajith Bhat

@Sathya: prendere in considerazione la pubblicazione come risposta separata, voterei.
Jason S,

1
Forse questo non era vero tre anni fa, ma gli strumenti di sviluppo web integrati di Firefox attualmente dispongono di strutture che ti consentono di estrarre le informazioni in modo simile. Ho appena risposto qui .
sh1

1
Ho un'altra idea Ricaricare la pagina, esaminando le intestazioni ... La pubblicherò come risposta.
Nicolas Barbulesco,

5

Il mio metodo è stato testato in un caso di emergenza (commento di Facebook perso). Ha bisogno di uno strumento di terze parti - ProcessHacker . È solo per Windows: per un metodo Linux, controlla quella domanda . Dovrebbe funzionare con tutti i browser, non solo con Firefox .

Ci sono due modi. Il primo è più facile da usare , ma se il PC si arrestasse in modo anomalo, si perderebbero i dati. Il secondo è più sicuro , ma necessita di uno strumento aggiuntivo. Con il secondo otterresti un file che puoi dare a qualche esperto, se quel tutorial sarebbe troppo difficile. Puoi fare il modo II, i passaggi 1 e 2 per sicurezza e quindi il modo I per renderlo più facile. Ho usato il modo I.

Questa è la lista esatta dei passi che ho fatto:

Modo io

  1. La prima cosa da fare è mettere in pausa il processo. Questo è fondamentale per il successo . Ho aperto ProcessHacker (PH), ho trovato firefox.exe nell'elenco (è possibile fare clic sulla colonna "Nome" per eliminare la vista ad albero e ottenere una vista elenco) e dal menu di scelta rapida ho usato "Sospendi". Quindi sembrerebbe che Firefox sia bloccato, quindi se Windows ti chiedesse di terminare il processo di non risposta, non farlo! È vivo, solo dormendo.

  2. Fare doppio clic sulla riga firefox.exe o selezionare "Proprietà" dal menu contestuale di firefox.exe.

  3. Vai alla scheda "Memoria" e fai clic sul pulsante "Stringhe ..." nell'angolo in alto a destra.

  4. Ho usato le impostazioni predefinite ([✓] è spuntato, [] è deselezionato) - Min. len .: 10; [✓] Rileva Unicode; Cerca in [✓] Privato / [] Immagine / [] Mappato. Fai clic sul pulsante "OK".

  5. Dopo un po '(fino a un minuto, ma probabilmente alcuni secondi) otterrai tutte le stringhe trovate. Con tali impostazioni ora ho oltre 700k stringhe. Controlla ognuno alla ricerca del testo perso . Stavo solo scherzando! Vai al punto successivo :)

  6. Fai clic su "Filtro" in basso a sinistra e scegli la voce di menu più adatta a te. Ho usato "Contiene (senza distinzione tra maiuscole e minuscole)".

  7. Inserisci una parola contenuta nel testo perso. Parola perché è possibile salvare alcune stringhe, ad esempio " foo bar". La parola più lunga e più unica, meno risultati otterrai (quindi sarà più facile). Se non ottieni risultati, prova un'altra parola. Ho avuto il mio commento in due parti della memoria - in una era piena, nell'altra solo nella seconda metà.

  8. Guarda i risultati. La maggior parte delle stringhe sarà visibile con carattere nullo dopo ogni carattere, ad esempio, foobarsarà f.o.o.b.a.r(esadecimale 66 00 6F 00 6F 00 62 00 61 00 72). Non ti preoccupare; è la cosa Unicode. Se trovi il testo, fai clic sul pulsante "Salva ...". Il mio commento sembrava essere parte di HTML, cioè aveva <div>e <span>tag in giro.

  9. Apri il file salvato in un editor che supporta Unicode. Non conosco il Blocco note integrato, ma dovrebbe funzionare. Ho usato Notepad ++.

  10. Trova il testo, copia la parte necessaria. Dì "evviva". Ora puoi fare clic destro sulla riga firefox.exe dalla finestra principale e scegliere "Riprendi".

Modo II

  1. Ripeti il ​​passaggio 1 dal modo I.
  2. Trova la riga firefox.exe, fai clic destro su di essa e scegli "Crea file di dump ..." dal menu contestuale.
  3. Utilizzare un editor che supporti il ​​caricamento di file di grandi dimensioni. Notepad ++ dovrebbe gestirlo, ma è necessario disattivare la colorazione della sintassi e il controllo ortografico. Esempi: HxD (freeware, IMO migliore), wxHexEditor (FLOSS).
  4. Andare al passaggio 10 dal modo I.

Approccio intelligente! Oggi non ha funzionato per me (non apportare mai lunghe modifiche allo strumento online Gitlab ...) ma terrò la tecnica (e il simpatico strumento ProcessHacker) sotto il cuscino.

È possibile creare un file di dump da Task Manager, vedere questa risposta . Quindi non c'è bisogno di strumenti di terze parti come ProcessHacker.
David Balažic,

Grazie David. Penso ancora che uno dovrebbe sospendere il processo il prima possibile e rispondere a te collegato non dice nulla al riguardo. In caso di errore sospendere sarebbe di grande aiuto. Inoltre c'è la funzione di ricerca di stringhe in PH. Dato che i caratteri sono spesso riempiti con 00h (null), è ancora necessario un editor per trovare il testo (il Blocco note non farà il trucco), quindi non del tutto "senza terze parti". Nel frattempo ho perso i commenti su YouTube e Disqus (ovvero pagine pesanti e dinamiche con script di JavaScript) - ha funzionato di nuovo, ma non è un metodo sicuro al 100%, come mostra Tibo.
Krzysiu,

se ci sono diversi processi Chrome in esecuzione, c'è un modo per sapere con quale dovremmo lavorare?
JinSnow,

1
Che risposta eccezionale. Grazie per avermi fatto conoscere ProcessHacker. Non sono riuscito a trovare quello che cercavo con le impostazioni di filtro predefinite, ma sono riuscito contrassegnando tutte le caselle di controllo. Naturalmente, i risultati della ricerca sono aumentati di molto, ma l'applicazione di più filtri in successione lo ha ridotto. Ah, mi ha salvato dalla riscrittura di alcune e-mail perse. (+1)
Natale lineare

3

Le versioni moderne di Firefox hanno strumenti di sviluppo integrati che possono essere utilizzati per questo. Premi Ctrl+ Shift+ Qper visualizzare lo strumento Rete, premi F5per ricaricare la pagina (conferma l'avviso che il contenuto verrà reinviato, vogliamo che ciò accada esattamente) e seleziona la riga (probabilmente) più in alto nello strumento Rete. Dovrebbe mostrare POSTcome metodo.

Sul lato destro appare una serie di schede. Quello a cui siamo interessati, "Headers", dovrebbe già essere aperto. Fare clic Edit and Resendper ottenere il contenuto della richiesta completa. Il campo Corpo richiesta contiene tutti i dati della richiesta in forma codificata URL. Eseguilo attraverso un decodificatore come questo per recuperare i tuoi dati.


1
Esattamente questo. Nota: alcuni siti web codificano i contenuti in modo diverso, nel mio caso ha sostituito gli spazi con + e le nuove righe con \ r \ n.
user31389

2

Un'altra possibile soluzione per recuperare i tuoi dati è quella di creare un dump di base di Firefox (supponendo che tu lo stia utilizzando sotto Linux o simili). Vedi questa risposta per maggiori dettagli: /superuser//a/236400/180675


2

Ho trovato un nuovo componente aggiuntivo che può essere utilizzato per recuperare postdata persi: Form History Control

L'autore afferma:

Questo plugin memorizza anche il testo dai campi dell'editor durante la digitazione, quindi non devi mai perdere il lavoro quando si verifica un disastro. Recupera il tuo lavoro perso dopo timeout di sessione, guasti di rete, crash del browser, interruzioni di corrente e tutte le altre cose che distruggeranno il duro lavoro che hai appena scritto per scrivere quell'importante e-mail, saggio o post di blog.

EDIT: Oh, in effetti ha salvato questo post. :)


Questa estensione è una (molto) bella idea. Ma è troppo complicato. Questa estensione afferma con orgoglio che "testo salvato automaticamente inserito in qualsiasi forma". Salva i dati inseriti dall'utente "contenteditable"? Ad esempio, i commenti di Disqus e le modifiche WYSIWYG di Wikipedia.
Nicolas Barbulesco,

@NicolasBarbulesco Non lo so, provalo, quindi informa lo sviluppatore se non funziona. Suppongo che funzioni solo per i campi di input e textarea e form postdata. Il motivo principale per cui l'ho scaricato perché molti forum stupidi ti disconnettono semplicemente se stai scrivendo un post per troppo tempo, mangiando tutta la tua scrittura ...
Calmarius

1

Temo che il contenuto del modulo non venga memorizzato nella cache ... I campi di input regolari (riga singola) possono essere salvati con il riempimento automatico , ma non lo sono quelli dell'area di testo (più righe, quella che probabilmente hai digitato).


1

Il browser Web ha sicuramente i dati del modulo in memoria. La difficoltà è: come recuperare questi dati?

Ecco la mia idea Non l'ho provato Sulla carta funziona. Questa risposta si applica a Firefox e ad altri browser Web.

In breve: ricaricare la pagina mentre si esaminano le intestazioni.

  1. Installa il macchinario. Abbiamo bisogno di un macchinario per esaminare il traffico HTTP inviato dal browser Web.
    • La scelta migliore è l'estensione  LiveHTTPHeaders per Firefox. Ma penso che l'installazione di questa estensione abbia bisogno di un riavvio di Firefox. Non riavviare Firefox, ovviamente! Sarebbe bello poter installare questo macchinario senza riavviare Firefox. Altrimenti, devi solo avere questa estensione installata in anticipo. In caso di necessità, utilizzare semplicemente una macchina del tempo . ;-)
    • Se non è possibile avere la macchina pronta nel browser Web, esiste un'altra opzione. Questa opzione è più pesante. Ma il suo punto di forza è che funziona per tutti i browser Web e senza riavviarli. Installa un semplice server Web o imposta un server proxy (come Squid) sul tuo computer. Assicurati che il tuo server registri il traffico in entrata, con le intestazioni complete. E inserire una regola nel sistema operativo per reindirizzare tutte le richieste in uscita verso  127.0.0.1. Questo può essere fatto con un hosts file.
  2. Prova il macchinario. Crea una nuova finestra nel tuo browser Web. Scrivi qui del testo in Wikipedia e fai clic su Anteprima . Quindi verifica che nel tuo macchinario vedi il tuo testo scritto. Se il tuo macchinario è l'opzione server, devi disattivare la regola di reindirizzamento per caricare il modulo Wikipedia e attivarlo in seguito.
  3. Per ricaricare la pagina, fai clic con il pulsante destro del mouse sul punto in cui si trovava il modulo e scegli Ricarica . Questo è importante. In alcune e-mail, questo ricaricherà solo il frame in cui si trovava il modulo. Qui vogliamo ricaricare solo il meno possibile. Se fai clic sul pulsante  Ricarica nella barra degli indirizzi o nella barra dei pulsanti, o se premi Apple R, rischi di ricaricare l'intera pagina e in alcune e-mail questo ti sta sparando nel piede.
  4. Normalmente, il browser Web ti chiederà: vuoi inviare nuovamente i dati del modulo? Se ricevi questa domanda, questo è un buon segno. Scegli di nuovo Invia .
  5. Esamina i dati POST inviati , con i macchinari impostati nel passaggio 1. Qui troverai i dati desiderati.
  6. Vieni a dirci qui che questa soluzione ha funzionato!

Questo deve essere aggiornato, ora usa gli Strumenti per sviluppatori invece di installare estensioni.
user31389

1

*** Correzione: sebbene il seguito funzioni in Firefox e Chrome, l'istantanea in Firefox produce un file binario (gzip'd). Quindi per ora questo approccio funziona solo in Chrome: (

Per entrambi Firefox e Chrome, penso che un modo molto più semplice rispetto a un core dump reale di un processo di sistema è quello di utilizzare strumenti di sviluppo.

Vai alla scheda Memoria (in precedenza era denominata "Profili" in Chrome), quindi scatta un'istantanea e salvala in un file (è solo testo). Quindi cerca nel file qualche parola che sai di aver scritto nel tuo modulo: è probabilmente il modo più veloce per trovare l'intero contenuto.

Schermata di Strumenti per sviluppatori Firefox - Scheda Memoria

L'ho appena testato su Chrome in una pagina in cui un modulo dinamico (JavaScript) ha incasinato da solo e ha perso tutto il testo che avevo scritto. Era ancora in memoria e potevo recuperarlo anche se non lo avevo ancora inviato!

Vedi https://developer.mozilla.org/en-US/docs/Tools/Memory e https://developers.google.com/web/tools/chrome-devtools/memory-problems/heap-snapshots per maggiori dettagli.


in Firefox, il file è appena compresso gzip, quindi un semplice zcat xxx.fxsnapshotti permette di ottenere i contenuti.
vaab,

1
Grazie @vaab è davvero gzip'd, ma dopo aver decompresso è ancora un file binario. gunzip -c(equivalente a zcat su Mac) ha restituito principalmente punti interrogativi ... Ci ho corso stringssopra e ho potuto ottenere alcune informazioni, ma non so se un contenuto di modulo completo potesse essere recuperato in quel modo.
Kamal
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.