我在一个网页上填写了一份很长的表格,但由于服务器错误,我的提交被拒绝了。我似乎无法恢复表单输入。
Firefox 中是否有任何方法可以查看缓存、历史记录等来恢复这些信息?
答案1
我的方法是在紧急情况下测试的(Facebook评论丢失)。它需要第三方工具——进程黑客。它仅适用于 Windows – 有关 Linux 方法,请查看那个问题。它应该适用于每个浏览器,而不仅仅是 Firefox。
有两种方法。首先是更加用户友好,但如果 PC 崩溃,您就会丢失数据。第二是更安全,但需要额外的工具。如果教程太难,使用第二种方法,您将获得一个文件,可以将其交给专家。您可以执行方法 II,步骤 1 和 2 以确保安全,然后使用方法 I 使其更容易。我使用了方法 I。
这就是我采取的具体步骤:
方法 I
首先要做的是暂停該過程。这对于成功至关重要。我打开了 ProcessHacker (PH),在列表中找到了 firefox.exe(您可以单击“名称”列以摆脱树视图并获取列表视图),然后从上下文菜单中使用“暂停”。然后它看起来就像 Firefox 被冻结了,所以如果 Windows 询问您是否终止没有响应的进程,请不要这样做!它还活着,只是在睡觉。
双击 firefox.exe 行或从 firefox.exe 的上下文菜单中选择“属性”。
转到“内存”选项卡,然后单击右上角的“字符串...”按钮。
我使用了默认设置([✓] 表示选中复选框,[ ] 表示未选中)– 最小长度:10;[✓] 检测 Unicode;在 [✓] 私人 / [ ] 图像 / [ ] 映射中搜索。单击“确定”按钮。
过了一会儿(最多一分钟,但可能只有几秒钟),你就会找到所有字符串。通过这样的设置,我现在有超过 70 万个字符串。检查每一个寻找丢失文本的人。开玩笑的!转到下一个点 :)
点击左下角的“过滤器”,选择最适合您的菜单项。我使用了“包含(不区分大小写)”。
输入丢失的文本中的一些单词。单词因为有些字符串可以保存,例如保存为“
foo bar
”。单词越长、越独特,得到的结果就越少(因此会更容易)。如果没有得到结果,请尝试另一个单词。我的评论在内存中的两个部分中 - 一个部分是完整的,另一个部分只有后半部分。查看结果。大多数字符串在每个字符后都会显示为空字符,例如,
foobar
将是f.o.o.b.a.r
(hex66 00 6F 00 6F 00 62 00 61 00 72
)。不用担心;这是 Unicode 的问题。如果您找到了文本,请单击“保存...”按钮。我的评论看起来像是 HTML 的一部分,即它周围有<div>
和<span>
标签。在支持 Unicode 的编辑器中打开保存的文件。我不知道内置记事本,但它应该可以工作。我使用了 Notepad++。
找到文本,复制所需部分。说“hooray”。现在您可以在主窗口中右键单击 firefox.exe 行并选择“恢复”。
方法 II
答案2
呼!我想到了一个解决方案——我可以用“实时 HTTP 标头“扩展捕获传入/传出流量,并且表单信息是 POST 响应的一部分。(Firefox 将重新发送表单输入,不确定存储在哪里,但没有任何明显的内置方式将其显示给用户)
答案3
我发现了一个可用于恢复丢失的帖子数据的新插件:表单历史控制
作者声称:
此插件还会在您输入时存储编辑器字段中的文本,因此当发生灾难时您永远不会丢失工作。在会话超时、网络故障、浏览器崩溃、电源故障以及所有其他会毁掉您为撰写重要电子邮件、文章或博客文章所付出的辛勤劳动的事件发生后,恢复丢失的工作。
编辑:哦,它确实保存了这篇文章。:)
答案4
恢复数据的另一种可能的解决方案是制作 Firefox 的核心转储(假设您在 Linux 或类似环境下使用它)。请参阅此答案了解更多详细信息:https://superuser.com/a/236400/180675