Czy pamięć podręczna Firefoksa przesłana z formularza jest dostępna w dowolnym miejscu, które mogę odzyskać?

8

Właśnie spędziłem dużo czasu, pisząc stronę wiki z Firefoksem, przesłałem ją tylko po to, aby VPN się nie powiódł i przesłanie zginęło. Wracając do przeglądarki, okazuje się, że moje zmiany zostały utracone.

Czy jest jakiś sposób na odzyskanie tych zmian? Czy jest plik pamięci podręcznej dysku (mam grep ~ / Library / Caches / Firefox / Profiles /)? Czy mogę nakłonić Firefoksa do ponownego przesłania?

Widziałem to pytanie o sposoby zapobiegania temu w przyszłości i zwykle używam „It's All Text!” co pozwala uniknąć tego problemu, ale chciałbym odzyskać tę konkretną utraconą edycję.

Schwern
źródło

Odpowiedzi:

4

Nie zmieniaj niczego w tej zakładce. Kliknij naprzód, aby wrócić do strony błędu połączenia, rozwiązać problem z siecią i naciśnij „Spróbuj ponownie”. Spowoduje to przesłanie oryginalnego postu.

Schwern
źródło
To idealny świat, to działa. Ale wiele witryn źle to zepsuło. Zobacz moją odpowiedź, która nadejdzie.
Nicolas Barbulesco
Pracowałem dla mnie - upłynął limit czasu strony, więc po przesłaniu formularza dostałem monit o zalogowanie. Zalogowałem się, a następnie użyłem przycisku Wstecz, aby wrócić do formularza, który uznałem za pusty, używając przycisku Dalej, dostałem „próbę ponownego przesłania strony”. Na tej stronie zrobiłem jak sugerowałem poniżej i otworzyłem narzędzia Web Developer na karcie Sieć, a następnie kliknąłem „prześlij ponownie” (czy to „spróbuj ponownie”?). Miałem szczęście, że ponowne złożenie wniosku zadziałało. Warto spróbować dla innych bez wątpienia. Zrzut rdzenia miał być moim następnym krokiem.
pbhj
3

Na korzyść tego, kto miał problem ze znalezieniem ścieżki w interfejsie przeglądarki Firefox, w tej odpowiedzi postaram się szczegółowo opisać operację sugerowaną przez użytkownika „sh1” krok po kroku, co w moim przypadku doprowadziło do pomyślnego odzyskania.

Po pierwsze, pozostań na stronie „Ostrzeżenie / błąd przekroczenia limitu czasu”, którą widziałeś wcześniej, gdy nie udało ci się nacisnąć przycisku „Prześlij”, bez próby innych interakcji ze stroną internetową. Może nie jest to absolutnie konieczne, ale rzeczywiście bezpieczniejsze (potrzeba więcej eksperymentów, aby wyjaśnić).

Oświadczenie: Używam włoskiej lokalizacji Firefoksa, więc nie jestem pewien poprawnego tłumaczenia niektórych bardziej szczegółowych poleceń. W każdym razie kroki były następujące:

  • Zgodnie z poleceniem użytkownika „sh1”, w menu „narzędzia” („strumenti”) przejdź do sekcji „sieć” („rete”) w „narzędziach programistycznych” („strumenti di sviuppo web”).
  • Kliknij prawym przyciskiem myszy pusty obszar okna narzędzi do tworzenia aplikacji internetowych i wybierz „rozpocznij analizę wydajności” („inizia analisi prestazioni”); FF zaoferuje Ci retransmisję tych samych danych, które zostały faktycznie wysłane przed problemem (na razie przepraszam, nie jestem pewien, czy jest to ten sam tok działań uruchamianych przez ponowne załadowanie strony z tego miejsca).
  • Oczywiście w tym momencie nadal będziesz mieć problem ze stroną błędu, ale tym razem Firefox śledził wszelkie dane, które próbował ponownie wysłać; zobaczysz listę żądań i elementy strony pobrane z serwera.
  • Na górze listy wybierz żądanie POST, klikając je lewym przyciskiem myszy; okno się podzieli
  • W prawym okienku kliknij przycisk „Edytuj i wyślij ponownie” („Modifica e reinvia”); pokaże to inny widok, w którym ...
  • ... W ramce „body request” („corpo della richiesta”) znajdziesz, przeplatane tylko kilkoma nagłówkami MIME, swoje cenne przesłanie w postaci zwykłego tekstu do skopiowania :)

Udało mi się odzyskać dane formularzy przy użyciu samych narzędzi wbudowanych w Firefox. Poza tym, i tylko dla spekulacji, w moim przypadku zrzut rdzenia nie był możliwy. Jest tak, ponieważ nie zmieniłem odpowiednich ustawień domyślnych systemu statycznego (które należy wcześniej ustawić; patrz http://bencane.com/2011/09/22/kill-creating-a-core-dump/ ; w dystrybucji I Używam tym razem - najnowszego Xubuntu - domyślnym zestawem ustawień wydaje się „brak zrzutu rdzenia”).

Twoje zdrowie

Edgar Grill
źródło
W języku angielskim kroki są następujące: Menu -> Web Developer -> Sieć. Następnie ponownie wyślij dane, wybierz żądanie i kliknij Edytuj i wyślij ponownie. Następnie zobacz pole Żądaj treści i skopiuj tekst w bezpieczne miejsce. (Tekst może być zakodowany w url lub nieco zmieniony w inny sposób. W takim przypadku znajdź dekoder online lub edytuj go sam.)
user31389
2

Rozszerzając odpowiedź Schwern, ponieważ w moim przypadku nie jestem w stanie naprawić błędu:

Przejdź ponownie do ekranu awarii. W menu wybierz Web Developer, Sieć, a następnie zakładkę „Nagłówki” i naciśnij przycisk „wyślij ponownie”.

Powinno to wyświetlić formularz (umożliwiający włamanie się do niego) zawierający utracone treści. Może nie być w najwygodniejszym formacie, ale przynajmniej tam jest.

Przynajmniej dla mnie działa. Siedziałem tutaj z przerażającym ekranem „Twój post spadł z dziury”, a kiedy nacisnąłem „wstecz”, wróciłem do jakiegoś javascript, który zresetował formularz do pustego (dzięki Javascript!).

Należy zauważyć, że przejście do przodu oznacza naciśnięcie przycisku obok przycisku Wstecz. Jeśli wróciłeś do formularza i okazało się, że treść zaginęła, nie dotykaj niczego na stronie, co mogłoby próbować wysłać nowo opróżnioną treść, ponieważ wtedy jedynym wyborem będzie przeszukanie zrzutu pamięci, ale bez żadnej gwarancji sukcesu.

sh1
źródło
Mam sieć. Ale nie mam karty Nagłówki. Nie widzę wysłanych nagłówków.
Nicolas Barbulesco
Teraz jest przycisk o nazwie „edytuj i wyślij ponownie”. W polu „treść żądania” znalazłem komentarz, który chciałem opublikować. Musiałem wkleić do edytora tekstu i zastąpić znaki „+” spacjami, „\ r \ n” znakami nowej linii i tak dalej. Więc TL; DR: „Sieć” -> wybierz główne żądanie -> „Nagłówki” -> „Edytuj i wyślij ponownie” -> znajdź i skopiuj tekst w bezpieczne miejsce.
user31389,
1

Przeglądarka internetowa z pewnością ma dane formularza w pamięci. Trudność polega na tym: jak odzyskać te dane?

Oto mój pomysł. Nie próbowałem tego. Na papierze to działa. Ta odpowiedź dotyczy przeglądarki Firefox i innych przeglądarek internetowych.

W skrócie: Załaduj stronę ponownie podczas sprawdzania nagłówków.

  1. Ustaw maszynę. Potrzebujemy maszyny do zbadania ruchu HTTP wysyłanego z przeglądarki internetowej.
    • Najlepszym wyborem jest rozszerzenie  LiveHTTPHeaders dla Firefoksa. Myślę jednak, że instalacja tego rozszerzenia wymaga ponownego uruchomienia przeglądarki Firefox. Oczywiście nie uruchamiaj ponownie Firefoksa! Byłoby miło móc zainstalować tę maszynę bez ponownego uruchamiania Firefoksa. W przeciwnym razie wystarczy wcześniej zainstalować to rozszerzenie. W razie potrzeby skorzystaj z wehikułu czasu . ;-)
    • Jeśli nie możesz mieć maszyny gotowej w przeglądarce internetowej, istnieje inna opcja. Ta opcja jest cięższa. Ale jego ogromną siłą jest to, że działa dla wszystkich przeglądarek internetowych i bez ich ponownego uruchamiania. Zainstaluj prosty serwer internetowy lub skonfiguruj serwer proxy (np. Squid) na swoim komputerze. Upewnij się, że serwer rejestruje ruch przychodzący z pełnymi nagłówkami. I umieść w systemie operacyjnym regułę przekierowywania wszystkich żądań wychodzących w kierunku  127.0.0.1. Można to zrobić za pomocą hosts pliku.
  2. Przetestuj maszynę. Utwórz nowe okno w przeglądarce internetowej. Napisz tutaj tekst w Wikipedii i kliknij przycisk Podgląd . Następnie sprawdź, czy w maszynie widzisz swój tekst. Jeśli twoja maszyna jest opcją serwera, musisz wyłączyć regułę przekierowania (w systemie operacyjnym), aby załadować formularz Wikipedii, a następnie włączyć go później.
  3. Aby ponownie załadować stronę, kliknij prawym przyciskiem myszy miejsce, w którym znajdował się formularz, i wybierz opcję Załaduj ponownie . To jest ważne. W niektórych wiadomościach e-mail spowoduje to ponowne załadowanie tylko ramki, w której znajdował się formularz. Tutaj chcemy przeładować tak mało, jak to możliwe. Jeśli klikniesz przycisk  Załaduj ponownie na pasku adresu lub na pasku przycisków, lub jeśli naciśniesz Apple R, ryzykujesz przeładowaniem całej strony, aw niektórych wiadomościach e-mail strzela to sobie w stopę.
  4. Zwykle przeglądarka internetowa zapyta: Czy chcesz ponownie wysłać dane formularza? Jeśli dostaniesz to pytanie, jest to dobry znak. Wybierz Wyślij ponownie .
  5. Sprawdź przesłane dane POST za pomocą maszyny skonfigurowanej w kroku 1. Tutaj znajdziesz poszukiwane dane.
  6. Przyjdź i powiedz nam, że to rozwiązanie zadziałało!
Nicolas Barbulesco
źródło