perl 判断网站内容是否变更

一个 ETag 是另一个HTTP header 功能类似 Last−Modified and If−Modified−Since。

而不是日期, 它返回一个独特的字符串,根据你的下载的内容。

如果字符串改变,你可以假设网站内容是不同的。主要的好处是 Etags 返回即使是动态生成的内容  


[root@dr-mysql01 test]# cat s9.pl 
#!/usr/bin/perl −w
use LWP 5.64;
my $url = 'http://www.zjcap.cn';
$etag='"55af3d5f-691b"';
my %headers = ( 'If-None-Match'=>$etag );
my $browser = LWP::UserAgent->new;
$browser->timeout(10);
$browser->env_proxy;
$browser->agent("Mozilla/8.0");
my $response = $browser->get($url,%headers);
$newtag = $response->header("ETag");
print "ETag from server:".$response->header("ETag")."
";
print "Got:".$response->status_line . "
";
if ( "$etag" eq "$newtag" ){print "not modified
";}
   else{print "modified
";};

You have mail in /var/spool/mail/root
[root@dr-mysql01 test]# perl s9.pl 
ETag from server:"55af3d5f-691b"
Got:304 Not Modified
not modified

原文地址:https://www.cnblogs.com/hzcya1995/p/13351513.html