我使用 Backblaze 来备份我的电脑。您可以通过选择要还原的文件来从备份中还原文件,然后将这些文件打包成大的 zip 文件。当然,能够在不中断连接的情况下下载 500GB 的 zip 文件是相当罕见的,因此理智的开发人员会实现对 HTTP Range 标头的支持,以允许用户继续下载。
他们没有这样做。相反,他们有一个精品下载实用程序,它通过模拟 POSTed HTML 表单来指定请求的字节范围。此实用程序可以完成您希望普通下载管理器执行的所有操作,例如一次通过多个连接下载并恢复部分完成的下载,但由于一些狡猾的设计问题(例如打开一个成熟的进程,而不是线程,对于每个 40MB 块)它在快速(> 100 Mbps)连接上效率很低。它也是 Windows 独有的。
我正在尝试在 Node.js 中编写一个开源替代品来消除一些糟糕的东西,但我遇到了一个障碍:该实用程序在其 POST 请求中发送的字段之一称为“bzsanity”,是一个 16 -bit 校验和帐户电子邮件地址。不幸的是,我无法弄清楚算法是什么。也许我只是愚蠢,但我希望你们能帮助我。
以下是一些校验和值:
- 测试@test.com:028a
- 测试@test.com:4152
- test2@test.com:3d0f
- 测试:494c
- aa:acf2
- ab:aaad
- 交流:8e4d
- 广告:0436
- ""(空字符串):a93e
- 一个:ce7f
- 乙:1a1e
- c: 1540
- d:6c57
如果你想要更多的测试向量,我可能可以提供。我尝试在累加器和一些 CRC-16 变体中添加字节,但这些方法不起作用。