获取以字节为单位的远程文件的大小? (无内容大小)

时间:2018-09-14 03:48:56

标签: linux bash unix curl wget

我想尽可能简单地获取远程文件的字节大小。

问题在于,如今许多服务器都没有在其标头中发送content-size参数

curl -Iwget --spiderwget --server-response都给了我详细的标题,但是内容的大小却没有。

curl -Is https://wordpress.com | grep content

仅返回以下内容:

content-type: text/html; charset=utf-8

所以我想我可以像这样解决它:

curl -s https://wordpress.com/ > /tmp/foo; du /tmp/foo | awk '{print $1}'

起作用。但是我认为自己下载文件并写入我的机器有点荒谬。

我想有一种更好的方法,像curl之类的东西可以直接从内存中获取文件大小,或者只是将输出的长度以字节为单位获取bash。

1 个答案:

答案 0 :(得分:1)

并非每次响应都保证content-size标头。因此,您最好的办法是使用content-size(如果可用),如果不可用,请致电curl下载并评估远程内容的大小:

curl -sL 'https://wordpress.com'  --write-out '%{size_download}\n' --output /dev/null