一个小Tip,可以在用来下载大文件zip压缩包之前,先知晓压缩包中的文件列表
zip文件的目录信息存储在文件的尾部,因此我们只需要下载最后面一点点内容就能看到里面都有些什么文件。
以vscode为例h2
- 先用cURL请求查看一下响应头
curl -I https://vscode.download.prss.microsoft.com/dbazure/download/stable/fee1edb8d6d72a0ddff41e5f71a671c23ed924b9/VSCode-win32-x64-1.92.2.zipHTTP/1.1 200 OKConnection: keep-aliveContent-Length: 139516845Cache-Control: public, max-age=86400Content-Disposition: attachment; filename=VSCode-win32-x64-1.92.2.zip; filename*=UTF-8''VSCode-win32-x64-1.92.2.zipContent-Type: application/octet-streamEtag: "0x384303F8B4C49AFF47F905A745E5A4A7358E23744DCDE3FD92F66EA3C92B3687"Last-Modified: Wed, 14 Aug 2024 19:06:24 GMTX-Ms-ApiVersion: Distribute 1.2X-Ms-Region: prod-weu-z1Accept-Ranges: bytesDate: Tue, 20 Aug 2024 14:18:59 GMTVia: 1.1 varnishAge: 59889X-Served-By: cache-nrt-rjtf7700073-NRTX-Cache: HITX-Cache-Hits: 1X-Timer: S1724163539.200758,VS0,VE1X-CID: 3X-CCC: JP其中需要在响应头关注的内容:
- accept-ranges: bytes 表示可以分段下载
- content-length: 139516845 表示文件的大小
- 这里我们把文件大小数值-1000000,下载最后1M大小的内容,保存为vscode.zip
curl -H "Range: bytes=138516845-" https://vscode.download.prss.microsoft.com/dbazure/download/stable/fee1edb8d6d72a0ddff41e5f71a671c23ed924b9/VSCode-win32-x64-1.92.2.zip -o vscode.zip- 最后使用zipinfo命令的
-s参数查看文件列表
zipinfo -s vscode.zip输出:
Archive: vscode.zipZip file size: 1000000 bytes, number of entries: 1504error [vscode.zip]: missing 138516845 bytes in zipfile (attempting to process anyway)drwx--- 6.3 fat 0 bx stor 24-Aug-14 18:50 bin/-rw-a-- 6.3 fat 2001 bx defN 24-Aug-14 18:14 bin/code-rwxa-- 6.3 fat 20124728 bx defN 24-Aug-14 18:50 bin/code-tunnel.exe-rwxa-- 6.3 fat 178 bx defN 24-Aug-14 18:14 bin/code.cmd-rw-a-- 6.3 fat 150045 bx defN 24-Aug-14 18:14 chrome_100_percent.pak-rw-a-- 6.3 fat 225418 bx defN 24-Aug-14 18:14 chrome_200_percent.pak-rwxa-- 6.3 fat 167933360 bx defN 24-Aug-14 18:51 Code.exe......
Comments