有没有办法在不下载远程文件的情况下获取它的大小?

Wuf*_*ers 5 http macos

是否有可能在不下载远程文件的情况下获得它的大小?该文件通过 HTTP,而不是 (S)FTP。我想知道这一点,因为我想在连接有限 3G 无线计划时下载一些东西,而且我不想一次性使用所有带宽。我根本无法访问服务器。所以我不能在服务器端做任何事情。我使用的是 Mac OS X。使用命令行的解决方案是一个优点,但不是必需的。

顺便说一下,我想要信息的特定文件是从这个网站下载的 MP3 。

Mat*_*ier 5

您可以通过获取Content-Length标头来做到这一点,只要它是 HTTP。

在命令行上执行此操作的一种方法是使用curl,例如:

chris@chris-laptop:~$ curl -I -L http://www.fakkelbrigade.eu/chris/movies/drosovol1_final_h264_download.mp4
HTTP/1.1 200 OK
Date: Tue, 25 Jan 2011 22:22:51 GMT
Server: Apache/2.2.16 (Debian)
Last-Modified: Tue, 11 Jan 2011 16:32:52 GMT
ETag: "3aa003-1b0c3479-49994a2c6f500"
Accept-Ranges: bytes
Content-Length: 453784697
Content-Disposition: attachment
Content-Type: application/octet-stream
Run Code Online (Sandbox Code Playgroud)

Content-Length 以字节为单位。