サーバーエラーが原因で送信が拒否されたウェブページに長いフォームを記入しました。フォーム入力を復元できないようです。
Firefoxでキャッシュ、履歴などを調べてこの情報を回復する方法はありますか?
インストールすることをお勧めします Lazarus -お尻を十分な回数節約しました。
ふew!私は解決策を見つけました-着信/発信トラフィックをキャプチャする「 Live HTTP Headers 」拡張機能を使用して「戻る」および「進む」ボタンを押すことができ、フォーム情報はPOST response。(Firefoxはフォーム入力を再送信しますが、どこに保存されているかはわかりませんが、ユーザーに表示するための組み込みの方法はありません)
私の方法は緊急事態でテストされました(Facebookのコメントが失われました)。サードパーティのツールが必要です– ProcessHacker 。これはWindows専用です。Linuxメソッドの場合は、 その質問 を確認してください。 Firefoxだけでなく、すべてのブラウザで動作するはずです。
2つの方法があります。 最初の方がユーザーフレンドリーですが、PCがクラッシュするとデータが失われます。 2番目はフェイルセーフですが、追加のツールが必要です。 2つ目は、チュートリアルが難しすぎる場合に、エキスパートに提供できるファイルを取得することです。方法II、ステップ1と2を安全に実行してから、方法Iを実行して安全にすることができます。私は方法Iを使用しました。
それが私が取った正確なステップのリストです:
最初にすることは、プロセスをpauseすることです。 これは成功のために重要です。 ProcessHacker(PH)を開き、リストにfirefox.exeを見つけ([名前]列をクリックしてツリービューを削除してリストビューを取得できます)、コンテキストメニューから[サスペンド]を使用しました。そうすると、Firefoxがフリーズしたように見えるので、Windowsが応答しないプロセスの終了について尋ねてきた場合は、実行しないでください。それは生きている、ただ眠っている。
Firefox.exeの行をダブルクリックするか、firefox.exeのコンテキストメニューから[プロパティ]を選択します。
[メモリ]タブに移動し、右上隅にある[文字列...]ボタンをクリックします。
私はデフォルト設定を使用しました([✓]チェックボックスがオン、[]チェックボックスがオフ)–最小。 len .: 10; [✓] Unicodeを検出します。 [✓]非公開/ []画像/ []マップ済みで検索「OK」ボタンをクリックします。
しばらくすると(最大で数分ですが、おそらく数秒)、すべての文字列が見つかります。このような設定で、700kを超える文字列を取得しました。 失われたテキストを検索するすべての人をチェックします。冗談だ!次のポイントに移動します:)
左下の[フィルター]をクリックし、最適なメニュー項目を選択します。 「含む」(大文字と小文字を区別しない)を使用しました。
失われたテキストに含まれていた単語を入力します。 Word一部の文字列は、たとえば「foo bar
"。Wordが長くてユニークなほど、得られる結果は少なくなります(そのため、簡単になります)。結果が得られない場合は、別のWordを試してください。 1つは満杯で、もう1つは後半です。
結果を確認します。ほとんどの文字列は、すべての文字の後にnull文字で表示されます。たとえば、foobar
はf.o.o.b.a.r
(16進数66 00 6F 00 6F 00 62 00 61 00 72
)。心配しないでください。それはユニコードのものです。テキストが見つかったら、[保存...]ボタンをクリックします。私のコメントはHTMLの一部のように見えました。つまり、<div>
および<span>
タグで囲みます。
保存されたファイルを、Unicodeをサポートするエディターで開きます。組み込みのメモ帳については知りませんが、動作するはずです。 Notepad ++を使用しました。
テキストを見つけ、必要な部分をコピーします。 「フーレイ」と言ってください。ここで、メインウィンドウからfirefox.exeの行を右クリックして、[再開]を選択します。
Firefoxの最新バージョンには、これに使用できる開発ツールが搭載されています。押す Ctrl+Shift+Q ネットワークツールを起動するには、 F5 ページを再読み込みし(コンテンツが再送信されるという警告を確認します。これが発生するようにしたい)、ネットワークツールの(おそらく)一番上の行を選択します。メソッドとしてPOST
が表示されます。
右側に一連のタブが表示されます。関心のある「ヘッダー」はすでに開いているはずです。 Edit and Resend
をクリックして、リクエストの内容全体を取得します。 [Request Body]フィールドには、完全なリクエストデータがURLエンコード形式で含まれています。 this one のようなデコーダーで実行して、データを取得します。
失われたポストデータを回復するために使用できる新しいアドオンを見つけました: Form History Control
著者は主張している:
このプラグインは、入力時にエディターフィールドからのテキストも保存するため、災害が発生したときに作業を失う必要はありません。セッションのタイムアウト、ネットワーク障害、ブラウザーのクラッシュ、電源障害、および重要なメール、エッセイ、ブログの投稿を書くために費やしたハードワークを破壊する他のすべてのものの後に、失われた作業を回復します。
編集:ああ、それは確かにこの投稿を保存しました。 :)
データを回復するためのもう1つの解決策は、Firefoxのコアダンプを作成することです(Linuxなどで使用していると想定)。詳細については、この回答を参照してください: https://superuser.com/a/236400/180675
フォームのコンテンツがキャッシュされていないと思います...通常の入力フィールド(1行)は auto fill で保存できますが、テキスト領域(複数行、おそらく入力した行)は保存されていませんない.
Webブラウザは間違いなくメモリにフォームデータを持っています。問題は次のとおりです:このデータを取得する方法は?
これが私の考えです。私は試していません。 紙の上で動作します。この回答は、Firefoxおよび他のWebブラウザーに適用されます。
つまり、ヘッダーを調べながら、ページをリロードします。
127.0.0.1
にリダイレクトするルールをOSに配置します。これは、hosts
ファイルで実行できます。***修正:以下はFirefoxとChromeで機能しますが、Firefoxのスナップショットは(gzip'd)バイナリファイルを生成します。したがって、今のところ、このアプローチはChrome:(
FirefoxとChromeのbothの場合、システムプロセスの実際のコアダンプに比べてはるかに簡単な方法は、開発者ツールを使用することです。
メモリタブ(Chromeでは「プロファイル」という名前でした)に移動し、スナップショットして、ファイルに保存します(テキストのみです)。次に、フォームで書き込んだことがわかっているWordをファイルで検索します。これは、おそらくコンテンツ全体を見つける最も速い方法です。
Chromeのページでテストしました。動的フォーム(JavaScript)がそれ自体で失敗し、記述したテキストがすべて失われました。それはまだメモリ内にあり、次の場合でも回復できます。まだ提出していません!
https://developer.mozilla.org/en-US/docs/Tools/Memory および https://developers.google.com/web/tools/chrome-devtools/を参照してください。詳細については、memory-problems/heap-snapshots をご覧ください。