如何从远程 URL 图片中提取创建日期



如果我有这样的图片链接:

http://www.google.com/images/srpr/logo3w.png

我可以在不下载的情况下检索此图片的原始创建日期吗?实际上,我尝试使用Image::Grab下载它,但我得到了"本地分配时间"而不是原始时间。同样使用ctime(stat)方式。

谁能告诉我是否可以做到?谢谢!

HTTP 资源不是文件。

不可以,如果不下载,您只能检查上次修改的 HTTP 标头:

use LWP::UserAgent qw();
my $ua = LWP::UserAgent->new;
my $res = $ua->head('http://www.google.com/images/srpr/logo3w.png');
print $res->header('Last-Modified'); # 'Mon, 02 Apr 2012 02:13:37 GMT'

有时图像包含元数据,但您必须下载才能检查。

use LWP::UserAgent qw();
use Image::ExifTool qw(ImageInfo);
my $ua = LWP::UserAgent->new;
$ua->mirror('http://www.google.com/images/srpr/logo3w.png', 'logo3w.png');
print ImageInfo('logo3w.png')->{CreateDate}; # undef

最新更新