Я заполнил длинную форму на веб-странице, которая отклонила мою заявку из-за ошибки сервера. Я не могу восстановить форму ввода.
Есть ли способ в Firefox изучить кеши, историю и т.д., Чтобы восстановить эту информацию?
Я заполнил длинную форму на веб-странице, которая отклонила мою заявку из-за ошибки сервера. Я не могу восстановить форму ввода.
Есть ли способ в Firefox изучить кеши, историю и т.д., Чтобы восстановить эту информацию?
Уф! Я нашел решение - я смог нажать кнопку "назад" и "вперед" с расширением « Live HTTP Headers », фиксирующим входящий / исходящий трафик, и информация о форме была частью ответа POST. (Firefox повторно отправит ввод данных формы, не зная, где он хранится, но не имеет очевидного встроенного способа отображения его пользователям)
Мой метод был протестирован в экстренном случае (потерян комментарий в Facebook). Для этого нужен сторонний инструмент - ProcessHacker. Это только для Windows - для метода Linux, проверьте этот вопрос. Он должен работать с любым браузером, а не только с Firefox.
Есть два способа. Во-первых, удобнее для пользователя, но если компьютер зависнет, вы потеряете данные. Второй более надежный, но нуждается в дополнительном инструменте. Со вторым вы получите файл, который вы можете передать какому-нибудь эксперту, если этот урок будет слишком сложным. Вы можете выполнить Путь II, шаги 1 и 2, чтобы быть в безопасности, а затем Путь I, чтобы сделать это проще. Я использовал Путь I.
Вот точный список шагов, которые я предпринял:
Первое, что нужно сделать, это приостановить процесс. Это очень важно для успеха. Я открыл ProcessHacker (PH), нашел firefox.exe в списке (вы можете щелкнуть по столбцу "Имя", чтобы избавиться от древовидного представления и получить представление списка), и из контекстного меню я использовал "Приостановить". Тогда это выглядит так, как будто Firefox заморожен, поэтому, если Windows попросит вас прекратить не отвечающий процесс, не делайте этого! Он жив, просто спит.
Дважды щелкните строку firefox.exe или выберите "Свойства" в контекстном меню firefox.exe.
Перейдите на вкладку "Память" и нажмите кнопку «Струны ...» в правом верхнем углу.
Я использовал настройки по умолчанию (флажок [& check;] установлен, флажок [] не установлен) - Мин. лен .: 10; [& check;] Определить Unicode; Поиск в [✓] Личное / [] Изображение / [] Сопоставлено. Нажмите на кнопку "ОК".
Через некоторое время (до минуты, но, вероятно, через несколько секунд) вы найдете все найденные строки. С такими настройками у меня сейчас более 700к строк. Проверьте каждый, кто ищет потерянный текст. Просто шучу! Перейти к следующему пункту :)
Нажмите внизу слева "Фильтр" и выберите пункт меню, который подходит вам лучше всего. Я использовал «Содержит (без учета регистра)».
Введите слово, которое было в вашем потерянном тексте. Слово, потому что некоторые строки могут быть сохранены, например, как " foo bar
". Чем длиннее и уникальнее слово, тем меньше результатов вы получите (так будет проще). Если вы не получили результатов, попробуйте другое слово. У меня был свой комментарий в двух частях памяти - в одной это было полно, в другой только вторая половина.
Посмотри результаты. Большинство строк будут видны с нулевым символом после каждого символа, например, foobar
будет f.o.o.b.a.r
(hex 66 00 6F 00 6F 00 62 00 61 00 72
). Не беспокойся об этом; это вещь Unicode. Если вы найдете текст, нажмите кнопку «Сохранить ...». Мой комментарий выглядел как часть HTML, то есть вокруг него были теги <div>
и <span>
.
Откройте сохраненный файл в редакторе, который поддерживает Unicode. Я не знаю о встроенном блокноте, но он должен работать. Я использовал Notepad++.
Найдите текст, скопируйте нужную часть. Скажите "ура". Теперь вы можете щелкнуть правой кнопкой мыши строку firefox.exe в главном окне и выбрать "Продолжить".
Я бы порекомендовал вам установить Lazarus - он сохранил мой приклад достаточно много раз.
Современные версии Firefox имеют инструменты разработчика, которые можно использовать для этого. Нажмите Ctrl+Shift+Q, чтобы вызвать инструмент «Сеть», нажмите F5, чтобы перезагрузить страницу (подтвердите предупреждение о том, что контент будет отправлен повторно, мы хотим, чтобы именно это произошло), и выберите (вероятно) самую верхнюю строку в инструменте «Сеть». Он должен показать POST
как метод.
На правой стороне появляется набор вкладок. Тот, который нас интересует, "Заголовки", уже должен быть открыт. Нажмите « Edit and Resend
отправить повторно», чтобы получить полное содержимое запроса. Поле "Тело запроса" содержит полные данные запроса в кодированной форме. Запустите его через декодер, как этот, чтобы вернуть ваши данные.
Другим возможным решением для восстановления ваших данных является создание дампа ядра Firefox (при условии, что вы используете его в Linux или аналогичной системе). Смотрите этот ответ для более подробной информации: https://superuser.com/a/236400/180675
Я нашел новое дополнение, которое можно использовать для восстановления потерянных постданных: Контроль истории форм
Автор утверждает:
Этот плагин также сохраняет текст из полей редактора по мере ввода текста, поэтому вам никогда не придется терять свою работу при возникновении катастрофы. Восстановите свою потерянную работу после тайм-аута сеанса, сбоев сети, сбоев браузера, сбоев питания и всего остального, что разрушит тяжелую работу, которую вы только что вложили в написание этого важного электронного письма, эссе или сообщения в блоге.
РЕДАКТИРОВАТЬ: О, это действительно сохранил этот пост. :)
Я боюсь, что содержимое формы не кешируется ... Обычные поля ввода (одна строка) могут быть сохранены с автоматическим заполнением, а текстовые области (несколько строк, которые вы, вероятно, набрали) - нет.
Веб-браузер определенно содержит данные формы в памяти. Сложность заключается в следующем: как получить эти данные?
Вот моя идея Я не пробовал это. На бумаге это работает. Этот ответ относится к Firefox и другим веб-браузерам.
Короче говоря: перезагрузите страницу, изучая заголовки.
127.0.0.1
. Это можно сделать с помощью файла hosts
. *** Исправление: хотя приведенное ниже работает в Firefox и Chrome, снимок в Firefox создает двоичный файл (gzip'd). Так что пока этот подход работает только в Chrome :(
Для обоих Firefox и Chrome, я думаю , гораздо более простой способ по сравнению с фактическим дампом системного процесса заключается в использовании инструментов разработчика.
Перейдите на вкладку "Память" (в Chrome она называлась "Профили"), затем сделайте снимок и сохраните его в файл (это просто текст). Затем найдите в файле какое-нибудь слово, которое, как вы знаете, написали в форме - это, вероятно, самый быстрый способ найти весь контент.
Я только что протестировал его на Chrome на странице, где динамическая форма (JavaScript) испортилась сама собой и потеряла весь написанный текст. Это было все еще в памяти, и я мог восстановить это, даже если я еще не представил это!
См. Https://developer.mozilla.org/en-US/docs/Tools/Memory и https://developers.google.com/web/tools/chrome-devtools/memory-problems/heap-snapshots для получения дополнительной информации.