Как посмотреть историю того, что я POST-редактировал в Google Chrome?

43

Я только что отправил форму, включающую текстовое поле, в котором я написал довольно длинный текст. В другом текстовом поле я заполнил дату в неправильном формате - и вместо того, чтобы получить сообщение об ошибке, веб-сайт просто действовал так, как будто отправка моей формы была действительной, за исключением того, что ничего не было сохранено.

Есть ли способ посмотреть историю того, что было POST-ed (по крайней мере, в текущем сеансе), откуда я могу восстановить потерянный текст?

Томас Ашан
источник
3
По этой причине я сделал привычку Ctrl-C'ить все дольше, чем предложение. Это чертовски раздражает, когда это происходит.
Даниэль Бек
6
@Daniel: для Chrome и Firefox есть расширение под названием «Lazarus», которое сохраняет записи форм.
Гравитация
@ Grawity Спасибо за информацию. Не для Safari, хотя , кажется.
Даниэль Бек
@grawity: я некоторое время пробовал Lazarus (на Firefox), но он был очень глючным и чаще, чем то, что приемлемо, вызывал зависание всего браузера. Концепция именно то, что я ищу, но без ошибок =)
Томас Ашан

Ответы:

5

Я не думаю, что Chrome (или любой другой браузер, в этом отношении) сохраняет историю <textarea>содержимого (многострочного ввода).


Если форма использует обычную (не Ajax) отправку, и вы не ушли со страницы результатов, есть хитрость, которую вы можете попробовать: Откройте пакет burp (бесплатная версия, конечно), настройте свой браузер для использования localhost:8080в качестве HTTP прокси и нажмите Обновить на странице результатов. Браузер спросит вас , если вы хотите повторить представление - которые затем должны быть захвачены в отрыжки вкладку «s„прокси“. (Для незащищенного HTTP также будет работать анализатор пакетов, такой как Wireshark.)

grawity
источник
Привет, нажал Обновить, и браузер ничего не спросил. Я скачал Burp и 127.0.0.1:8080 действительно находится на вкладке Proxy. На моем Chrome, где находится форма, мне пришлось открыть настройки прокси-сервера и нажать «настроить», чтобы добавить localhost: 8080 в качестве HTTP-прокси. Обратите внимание, что в настоящее время он обходит * .local, 169.254 / 16
Дхрув Гулати
24

Ладно, на самом деле, мне пришлось решать эту проблему самостоятельно, и я думаю, что нашел надежное решение:

  • Во-первых, не закрывайте вкладку, на которой вы потеряли свои данные.
  • затем из меню инструментов откройте диспетчер задач chrome и найдите pid.
  • затем используйте процессный хакер для поиска потерянной части строки и продолжайте, пока не найдете самые длинные последовательные данные.
  • затем скопируйте и вставьте его в текстовый редактор.

Таким образом, я смог сохранить свою работу сегодня.

радиан
источник
4
!!!!!! Вау, ты только что спас меня от разочарования. Операция Process Hacker состоит в том, чтобы щелкнуть правой кнопкой мыши процесс с соответствующим идентификатором PID и выбрать «Создать файл дампа ...», который создает огромный файл, но я смог найти нужный текст.
Джейсон С
1
Спасибо! Я потерял более часа работы, когда попытался сохранить пост в WordPress, и это был единственный способ вернуть его.
Эдди Лоффен
1
См. Superuser.com/a/1119310/30982 для Linux.
Элайджа Линн
10

Ответ @rad работает в Windows, но не в Linux. Это привело меня к следующему решению для Linux:

  1. Не закрывайте вкладку
  2. Перейдите в Chrome Process Explorer с помощью shift + esc
  3. Найдите идентификатор процесса (PID) на вкладке (например, 3982), если вы не видите столбец идентификатора процесса, щелкните правой кнопкой мыши заголовок столбца и включите отображение
  4. Run gcore <PID>// создает файл core.3982 (двоичный)
  5. Затем strings core.3982 | less// Преобразует двоичный файл в строки для поиска, открывает дамп в Less
  6. Затем поиск lessс /последующим enterи использовать nи pдля следующих и предыдущих результатов.

Это позволило мне получить сообщение POST, пропавшее без вести в Chrome на Linux.

Элайджа Линн
источник
Ах, шаг № 7 не работает в обычном терминале, я использую Tmux, поэтому он работает. Если у кого-то есть время, чтобы выяснить лучший шаг # 7, пожалуйста, отредактируйте!
Элайджа Линн
Разобрался, передал vim для поиска там.
Элайджа Линн
1
strings -nне сработало ... но в stringsодиночку сработало , потом я перебросил less... так как у меня не установлен vim
nmz787
Что strings --versionвыводит? Мой "GNU Strings 2.24".
Элайджа Линн
2
Ницца. К сожалению, это не работает в OSX из-за специальной функции защиты памяти, называемой SIP. Это на самом деле может быть отключено, если вам потребуется это в будущем, запустив csrutil disableиз операционной системы восстановления
Quuxman
6

На самом деле есть (несколько громоздкий?) Способ сделать это в Chrome (и, фактически, в любом браузере WebKit с WebInspector).

  1. На странице с формой откройте консоль разработки. Это можно сделать, нажав F12.
  2. В открывшейся консоли Networkперейдите на вкладку.
    • При желании убедитесь, Preserve logчто отмечен галочкой и отфильтрован Documentsили XHR, в зависимости от обстоятельств.
  3. Отправьте вашу форму. Нажмите на вновь созданную запись и перейдите на Headersвкладку. Вы увидите свое представление под Form Data.
схизма
источник
Это не похоже на презентацию в моей текущей версии Chrome (47.0.2526.111 m). Было бы неплохо узнать, как это можно сделать.
Джеймс П.
1
@JamesPoulson Пользовательский интерфейс не сильно изменился, но теперь по умолчанию Chrome открывает его на боковой панели, а не во всплывающем окне, и по умолчанию показывает график. Возможно, вам придется щелкнуть двойной шеврон (>>) в правом верхнем углу, чтобы найти вкладку Сеть.
Раскол
1
Это не решает проблему. Проблема в получении данных запроса по факту. Это работает, только если вы настроили его перед отправкой запроса.
ToonAlfrink
4

Мне повезло в Windows 10, используя следующий вариант других предложений

  1. Откройте Диспетчер задач Chrome (нажмите Shift + Esc)
  2. Найдите вкладку с текстом, который вы потеряли (поиск по имени), запишите идентификатор процесса
  3. Откройте диспетчер задач Windows (нажмите Ctrl + Shift + Esc)
  4. Перейдите на вкладку сведений и найдите PID, соответствующий вашему идентификатору процесса.
  5. Щелкните правой кнопкой мыши по этому процессу и выберите «Создать файл дампа»
  6. Откройте большой файл DMP, созданный в вашем C: \ Users \ username \ AppData \ Local \ Temp именем chrome.dmp
  7. Поиск в файле любых текстовых строк, которые вы можете вспомнить из введенного текста
Мэтт А
источник
2

Я был на окнах, и ничто не работало как ответы других, но восстановил потерянные данные через дамп. Пожалуйста, посмотрите процесс ниже:

1 - сначала не закрывайте вкладку, на которой вы потеряли свои данные. затем из меню инструментов откройте диспетчер задач chrome и найдите pid. 2 - Теперь откройте диспетчер задач Windows и найдите процесс с PID, щелкните правой кнопкой мыши и выберите «Создать файл дампа», он создаст дамп в Windows Dir C: \ Users \\ AppData \ Local \ Temp \ .DMP, это даст вам имя того же.

Теперь откройте файл в notepad / Notepad ++ и найдите текст, который вы потеряли

Ануй Томар
источник
0

Я преуспеваю в окне 7 в Chrome. это похоже на ответ Schism, но завершено (поскольку проблема в том, что вы уже нажали кнопку «Отправить», а затем все взорвалось):

  • не закрывайте страницу
  • на странице: откройте инструменты разработчика и перейдите на его вкладку сети
  • выбрать все выбрать все изображение
  • вернуться на страницу
  • перейти на страницу и получить уведомление о повторном представлении Google
  • нажмите перезагрузить в соответствии с инструкциями на странице уведомления повторной подачи
  • это либо просто работает, либо текст будет в виде данных поста http call форма данных изображения
Чад
источник