给出了网络服务器上的文件(例如, http://foo.com/bar.zip - >仅通过http访问),是否有任何方法可以获取日期属性(例如,日期[创建,修改]),而无需首先下载整个存档?

现在,我下载存档并以编程方式阅读属性。麻烦的是,档案是数十个MIB,因此下载整个内容并最终仅阅读了几个字节的信息似乎浪费了资源。

我意识到带宽实际上是免费的,但是无论如何我都不喜欢浪费。

有帮助吗?

解决方案

尝试阅读 最后修改 从标头

其他提示

请确保使用HTTP Head请求而不是HTTP获取请求仅读取HTTP标头。如果您进行HTTP获取,即使您决定仅检查HTTP标头,也将下载整个文件。

仅仅为了简单起见,这里是使用卷曲的现有(完美)答案的汇编。当然,其他选项也可以使用,但这是一个功能齐全的答案。

使用卷发与 -I 选项:

-I, --head
(http/ftp/file)仅获取http-header! HTTP-Servers具有命令头,除了文档的标题外,它都无法获得该命令头。当在FTP或文件文件上使用时,Curl仅显示文件大小和最后一个修改时间。

另外, -s 选项不错:

-s, --silent
沉默或安静的模式。不要显示进度计或错误消息。使卷曲静音。除非您重定向,否则它仍将输出您要求的数据,甚至可能转移到终端/Stdout。

因此,这样的事情会解决问题:

curl -sI http://foo.com/bar.zip | grep 'Last-Modified' | cut -d' ' -f 2-
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top