I'm wondering if there is a way to check ahead of time the size of a file I might download via wget
? I know that using the --spider
option tells me if a file exists or not, but I'm interested in finding the size of that file as well.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Hmm.. for me --spider
does display the size:
$ wget --spider http://henning.makholm.net/
Spider mode enabled. Check if remote file exists.
--2011-08-08 19:39:48-- http://henning.makholm.net/
Resolving henning.makholm.net (henning.makholm.net)... 85.81.19.235
Connecting to henning.makholm.net (henning.makholm.net)|85.81.19.235|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9535 (9.3K) [text/html] <-------------------------
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.
$
(But beware that not all web servers will inform clients of the length of the data except by closing the connection when it's all been sent.)
If you're concerned about wget changing the format it reports the length in, you might use wget --spider --server-response
and look for a Content-Length
header in the output.
回答2:
curl --head URL
Look for "Content-Length:" in the output.
And thanks to Henning Makholm's comment:
wget --spider URL
and look for "Length:" in the output.