Como recuperar informações de formulário para uma página da Web no Firefox

26

Preenchi um formulário longo em uma página da Web que rejeitou meu envio devido a um erro no servidor. Não consigo recuperar a entrada do formulário.

Existe alguma maneira no Firefox de examinar caches, histórico etc. para recuperar essas informações?

Jason S
fonte

Respostas:

5

Eu recomendo que você instale o Lazarus - ele salvou minha bunda várias vezes.

Sathyajith Bhat
fonte
3
Lázaro é promissor. Mas, infelizmente, Lázaro está morto (!). Lázaro não funciona. O formulário de contato no site está quebrado. E o desenvolvedor não responde.
Nicolas Barbulesco
O Lazarus também de alguma forma entra em conflito com o firebug.
Tomáš Zato - Restabelecer Monica
É verdade que está "morto", e o desenvolvedor parece ser MIA, mas ainda funciona para mim.
Animadversor
@Animadversor Ele não funciona mais no Firefox v53, devido à incompatibilidade (conforme relatado pelo Firefox na inicialização).
David Balažic
2
Ferramentas de "proteção de formulário", como o Lazarus, devem ser instaladas antes da perda de dados, não depois. O OP está perguntando sobre a recuperação de dados perdidos.
user598527
6

Ufa! Eu descobri uma solução - fui capaz de pressionar o botão "voltar" e "encaminhar" com a extensão " Live HTTP Headers " capturando o tráfego de entrada / saída, e as informações do formulário faziam parte de uma resposta do POST. (O Firefox reenviará a entrada de formulário, sem ter certeza de onde está armazenada, mas não possui nenhuma maneira embutida óbvia de exibi-la aos usuários)

Jason S
fonte
2
Acho que está armazenado na RAM, já que você pode clicar em "Voltar" para voltar ao formulário com os dados preenchidos, mas nunca ouvi falar do Firefox restaurando esses valores de formulário depois que você fecha e reinicia o navegador.
David Z
Você pode querer ter o Lazarus [ addons.mozilla.org/en-US/firefox/addon/6984 ] instalado, se algo assim acontecer novamente.
Sathyajith Bhat
@ Sathya: considere postar como uma resposta separada, eu votaria.
Jason S
1
Talvez isso não fosse verdade há três anos, mas as ferramentas de desenvolvedor da Web incorporadas do Firefox atualmente possuem recursos que permitem extrair as informações de maneira semelhante. Acabei de responder aqui .
sh1 07/12/13
1
Eu tenho outra ideia. Recarregando a página, examinando os cabeçalhos ... vou publicá-la como resposta.
Nicolas Barbulesco
5

Meu método foi testado em um caso de emergência (comentário perdido no Facebook). Ele precisa de uma ferramenta de terceiros - ProcessHacker . É apenas para Windows - para um método Linux, verifique essa pergunta . Ele deve funcionar com todos os navegadores, não apenas com o Firefox .

Existem duas maneiras. Primeiro é mais amigável , mas se o PC travasse, você perderia dados. O segundo é mais à prova de falhas , mas precisa de uma ferramenta adicional. Com o segundo, você obteria um arquivo que poderá fornecer a algum especialista, se esse tutorial for muito difícil. Você pode executar o Caminho II, etapas 1 e 2 para ser seguro e, em seguida, o Caminho I para facilitar. Eu usei o Way I.

Essa é a lista exata de etapas que eu segui:

Caminho I

  1. A primeira coisa a fazer é pausar o processo. Isso é crítico para o sucesso . Abri o ProcessHacker (PH), encontrei o firefox.exe na lista (você pode clicar na coluna "Nome" para se livrar da exibição em árvore e obter uma exibição de lista) e, no menu de contexto, usei "Suspender". Então, parece que o Firefox está congelado; portanto, se o Windows perguntar sobre o encerramento do processo de não resposta, não faça isso! Está vivo, apenas dormindo.

  2. Clique duas vezes na linha firefox.exe ou escolha "Propriedades" no menu de contexto do firefox.exe.

  3. Vá para a aba "Memory" e clique no botão "Strings ..." no canto superior direito.

  4. Usei as configurações padrão ([✓] está marcada na caixa de seleção, [] está desmarcada) - Mín. len .: 10; [✓] Detectar Unicode; Pesquise em [✓] Privado / [] Imagem / [] Mapeado. Clique no botão "OK".

  5. Depois de um tempo (até um minuto, mas provavelmente alguns segundos), você obteria todas as strings encontradas. Com essas configurações, agora tenho mais de 700 mil strings. Verifique cada um procurando o texto perdido . Só brincando! Vá para o próximo ponto :)

  6. Clique no canto inferior esquerdo "Filtro" e escolha o item de menu que melhor se adequa a você. Eu usei "Contém (não faz distinção entre maiúsculas e minúsculas)".

  7. Digite uma palavra que estava no seu texto perdido. Palavra porque algumas cadeias podem ser salvas, por exemplo, como " foo bar". Quanto mais longa e única a palavra, menos resultados você terá (portanto será mais fácil). Se você não obtiver resultados, tente outra palavra. Eu tive meu comentário em duas partes da memória - em uma estava cheia, na outra apenas na segunda metade.

  8. Veja os resultados. A maioria das strings será visível com caracteres nulos após cada caractere, por exemplo, foobarserá f.o.o.b.a.r(hex 66 00 6F 00 6F 00 62 00 61 00 72). Não se preocupe com isso; é a coisa Unicode. Se você encontrar o seu texto, clique no botão "Salvar ...". Meu comentário estava parecendo parte do HTML, ou seja, tinha <div>e <span>tags ao redor.

  9. Abra o arquivo salvo em um editor que suporte Unicode. Não sei sobre o bloco de notas embutido, mas deve funcionar. Eu usei o Notepad ++.

  10. Encontre o texto, copie a parte necessária. Diga "viva". Agora você pode clicar com o botão direito do mouse na linha firefox.exe na janela principal e escolher "Continuar".

Caminho II

  1. Repita a etapa 1 do Caminho I.
  2. Localize a linha firefox.exe, clique com o botão direito do mouse e escolha "Criar arquivo de despejo ..." no menu de contexto.
  3. Use algum editor que suporte o carregamento de arquivos grandes. O Notepad ++ deve lidar com isso, mas você precisa desativar a cor da sintaxe e a verificação ortográfica. Exemplos: HxD (freeware, IMO melhor), wxHexEditor (FLOSS).
  4. Vá para a etapa 10 do Caminho I.
Krzysiu
fonte
Abordagem inteligente! Hoje não funcionou para mim (nunca faça edições longas na ferramenta on-line do Gitlab ...), mas manterei a técnica (e a boa ferramenta ProcessHacker) embaixo do travesseiro.
Você pode criar um arquivo de despejo no Gerenciador de tarefas, veja esta resposta . Portanto, não há necessidade de ferramentas de terceiros como o ProcessHacker.
David Balažic
Obrigado David. Eu ainda acho que se deve suspender o processo o mais rápido possível e responder que você vinculado não diz nada sobre isso. Em caso de erro, a suspensão ajudaria muito. Também há uma função de pesquisa de string no PH. Como os caracteres costumam ser preenchidos com 00h (nulo), você ainda precisa de um editor para encontrar o texto (o Bloco de Notas não funciona), portanto, não inteiramente "sem terceiros". Enquanto isso, perdi o comentário do YouTube e do Disqus (ou seja, páginas JavaScripted e dinâmicas pesadas) - funcionou novamente, mas não é um método 100% certo, como mostra o Tibo.
Krzysiu
se houver vários processos do chrome em execução, existe uma maneira de saber com quem devemos trabalhar?
JinSnow
1
Que ótima resposta. Obrigado por me apresentar o ProcessHacker. Não consegui encontrar o que estava procurando nas configurações de filtro padrão, mas consegui marcar todas as caixas de seleção. Obviamente, os resultados da pesquisa aumentaram muito, mas a aplicação de vários filtros em sucessão os reduziu. Ah, me salvou de reescrever alguns e-mails perdidos. (+1)
Natal linear
3

As versões modernas do Firefox possuem ferramentas de desenvolvedor que podem ser usadas para isso. Pressione Ctrl+ Shift+ Qpara exibir a ferramenta Rede, pressione F5para recarregar a página (confirme o aviso de que o conteúdo será reenviado, queremos que exatamente isso ocorra) e selecione a (provavelmente) linha superior na ferramenta Rede. Deve aparecer POSTcomo método.

No lado direito, um conjunto de guias é exibido. Aquele em que estamos interessados, "Cabeçalhos", já deve estar aberto. Clique Edit and Resendpara obter o conteúdo completo da solicitação. O campo Corpo da solicitação contém os dados completos da solicitação no formulário codificado por URL. Execute-o através de um decodificador como este para recuperar seus dados.

Roland W
fonte
1
Exatamente isso. Nota: alguns sites codificam o conteúdo de maneira diferente; no meu caso, eles substituíram espaços por + e novas linhas por \ r \ n.
user31389
2

Outra solução possível para recuperar seus dados é fazer um despejo central do Firefox (supondo que você o esteja usando no Linux ou similar). Consulte esta resposta para obter mais detalhes: /superuser//a/236400/180675

erik
fonte
2

Encontrei um novo complemento que pode ser usado para recuperar dados perdidos: Controle do Histórico de Formulários

O autor afirma:

Esse plug-in também armazena texto dos campos do editor enquanto você digita, para que você nunca perca seu trabalho quando ocorrer um desastre. Recupere seu trabalho perdido após o tempo limite da sessão, falhas de rede, falhas no navegador, falhas de energia e todas as outras coisas que destruirão o trabalho duro que você acabou de escrever ao escrever esse e-mail, ensaio ou postagem importante no blog.

EDIT: Ah, ele realmente salvou este post. :)

Calmarius
fonte
Esta extensão é uma (muito) boa ideia. Mas é muito complicado. Esta extensão diz com orgulho que "o texto salvo automaticamente foi inserido de qualquer forma". Ele salva dados inseridos pelo usuário "contenteditable"? Por exemplo, comentários do Disqus e edições da Wikipedia WYSIWYG.
Nicolas Barbulesco
@NicolasBarbulesco Não sei, tente e diga ao desenvolvedor se não funcionar. Suponho que funcione apenas para campos de entrada e de área de texto e forme dados pós-dados. A razão que eu primário baixou porque muitos fóruns estúpidas simplesmente desconectá-lo se você estiver escrevendo um post por muito tempo, comer toda a sua escrita ...
Calmarius
1

Receio que o conteúdo do formulário não seja armazenado em cache ... Os campos de entrada regulares (linha única) podem ser salvos com preenchimento automático , mas as áreas de texto (várias linhas, a que você provavelmente digitou) não são.

BloodPhilia
fonte
1

O navegador da Web definitivamente possui os dados do formulário na memória. A dificuldade é: como recuperar esses dados?

Aqui está a minha ideia. Eu não tentei. No papel , funciona. Esta resposta se aplica ao Firefox e a outros navegadores da Web.

Resumindo: recarregue a página enquanto examina os cabeçalhos.

  1. Configure o maquinário. Precisamos de um mecanismo para examinar o tráfego HTTP enviado pelo navegador da Web.
    • A melhor opção é a extensão  LiveHTTPHeaders para Firefox. Mas acho que instalar esta extensão precisa reiniciar o Firefox. Não reinicie o Firefox, é claro! Seria bom poder instalar esse mecanismo sem reiniciar o Firefox. Caso contrário, você só precisa ter esta extensão instalada com antecedência. Se necessário, basta usar uma máquina do tempo . ;-)
    • Se você não pode ter o equipamento pronto no navegador da Web, há outra opção. Esta opção é mais pesada. Mas sua força poderosa é que ele funciona para todos os navegadores da Web e sem reiniciá-los. Instale um servidor Web simples ou configure um servidor proxy (como o Squid) em sua máquina. Verifique se o servidor registra o tráfego de entrada, com os cabeçalhos completos. E coloque uma regra no sistema operacional para redirecionar todas as solicitações de saída  127.0.0.1. Isso pode ser feito com um hosts arquivo.
  2. Teste a maquinaria. Crie uma nova janela no seu navegador da Web. Escreva algum texto na Wikipedia aqui e clique em Visualizar . Em seguida, verifique se no seu equipamento você vê seu texto escrito. Se o seu equipamento for a opção do servidor, você precisará desativar a regra de redirecionamento para carregar o formulário da Wikipedia e depois ativá-lo.
  3. Para recarregar a página, clique com o botão direito do mouse onde estava o formulário e escolha Recarregar . Isso é importante. Em alguns webmails, isso recarregará apenas o quadro em que estava o formulário. Aqui queremos recarregar apenas o mínimo possível. Se você clicar no botão  Recarregar na barra de endereços ou na barra de botões, ou se pressionar Apple R, corre o risco de recarregar a página inteira e, em alguns webmails, isso é um tiro no pé.
  4. Normalmente, o navegador da Web pergunta: Você deseja enviar novamente os dados do formulário? Se você receber essa pergunta, este é um bom sinal. Escolha Enviar novamente .
  5. Examine os dados do POST enviados , com o mecanismo configurado na etapa 1. Aqui você encontrará os dados desejados.
  6. Venha nos dizer aqui que esta solução funcionou!
Nicolas Barbulesco
fonte
Isso precisa ser atualizado, agora use as Ferramentas do desenvolvedor em vez de instalar extensões.
User31389
1

*** Correção: embora o abaixo funcione no Firefox e Chrome, o instantâneo no Firefox produz um arquivo binário (com gzip). Por enquanto, essa abordagem funciona apenas no Chrome: (

Para o Firefox e o Chrome, acho que uma maneira muito mais fácil, em comparação com um despejo de núcleo real de um processo do sistema, é usar as Ferramentas do desenvolvedor.

Vá para a guia Memória (que costumava ser chamada de "Perfis" no Chrome), depois pegue um instantâneo e salve-o em um arquivo (é apenas texto). Em seguida, pesquise no arquivo uma palavra que você sabe que escreveu em seu formulário - essa é provavelmente a maneira mais rápida de encontrar todo o conteúdo.

Captura de tela das Ferramentas do desenvolvedor do Firefox - guia Memória

Acabei de testá-lo no Chrome em uma página em que um formulário dinâmico (JavaScript) estragava sozinho e perdia todo o texto que eu havia escrito. Ainda estava na memória e eu poderia recuperá-lo mesmo se ainda não o tivesse enviado!

Consulte https://developer.mozilla.org/en-US/docs/Tools/Memory e https://developers.google.com/web/tools/chrome-devtools/memory-problems/heap-snapshots para obter mais detalhes.

Kamal
fonte
no Firefox, o arquivo é compactado apenas gzip, portanto, um simples zcat xxx.fxsnapshotpermite obter o conteúdo.
vaab
1
Obrigado @vaab, é realmente compactado com o gzip, mas depois de descompactar, ainda é um arquivo binário. gunzip -c(equivalente ao zcat no Mac) retornou principalmente pontos de interrogação ... Eu executei stringsnele e pude obter algumas informações, mas não sei se um conteúdo completo pode ser recuperado dessa maneira.
Kamal