wget
経由でダウンロードするファイルのサイズを事前に確認する方法があるかどうか疑問に思っています。 --spider
オプションは、ファイルが存在するかどうかを教えてくれますが、そのファイルのサイズを調べることにも興味があります。
うーん、私にとっては--spider
はサイズを表示します:
$ 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.
$
(ただし、すべてのWebサーバーがクライアントにデータの長さを通知するわけではないことに注意してください。ただし、すべて送信されたときに接続を閉じる場合を除きます。)
Wgetが長さを報告する形式を変更することに懸念がある場合は、wget --spider --server-response
を使用して、出力でContent-Length
ヘッダーを探すことができます。
curl --head URL
出力で「Content-Length:」を探します。
そして、ヘニング・マクホルムのコメントに感謝します。
wget --spider URL
出力で「Length:」を探します。