小编典典

如何仅下载/读取文件的前80KB?

ajax

我正在为具有许多Flash文件的网站制作Greasemonkey脚本。我想对闪存进行哈希处理,问题是闪存文件最大为10 MB。

这很慢;我希望只能获取要散列的前80KB。最终结果将是一种将某些包含有害内容的Flash文件列入黑名单的简便方法。我的脚本如何仅抓取文件的前80
KB(或大约80 KB)?


阅读 235

收藏
2020-07-26

共1个答案

小编典典

发送range在你的AJAX请求。

例如:

$.ajax ( {
    url:        'http://TARGET_SERVER.COM/TARGET_PATH/TARGET_FILE.FLV',
    headers:    { Range: "bytes=0-80000" },
    success:    function (Resp) {
                    console.log(Resp);
                }
} );

(对于与目标页面位于同一域中的文件。)


对于跨域文件,请使用GM_xmlhttpRequest()

GM_xmlhttpRequest ( {
    method:     "GET",
    url:        'http://TARGET_SERVER.COM/TARGET_PATH/TARGET_FILE.FLV',
    headers:    { Range: "bytes=0-80000" },
    onload:     function (Resp) {
                    console.log(Resp.responseText);
                }
} );
2020-07-26