| 关键词: SMTP datasend print HTTP url status mail res www com |
perl检测网站首页状态代码,随便写的,一起交流 #!/usr/bin/perl -w use strict; use LWP::UserAgent; use Net::SMTP; use POSIX qw/strftime/; print <<EOF; +--------------------------------------+ +----made by Henry He on 2011/03/03----+ +--------------------------------------+ EOF my @array = (); my $count = 0; open FILE,'<','url.txt' or die "$! "; while (<FILE>) { chomp; /(\S+)/; push @array,$1; } close FILE; foreach my $url (@array) { $count++; my $obj = LWP::UserAgent->new( keep_alive=>1, timeout=>60); my $req = HTTP::Request->new(GET=>"$url"); my $res = $obj->request($req); if ($res->is_success) { print $url,"\t",$res->status_line," "; } else { print "$url\tFailed:\t",$res->status_line," "; sendemail("$url\tFailed:\t" . $res->status_line," "); } } my $cur_time = strftime "%Y-%m-%d",localtime; print " "; print <<EOF; +-------------------------------------+ + Finished check $count urls + +-------------------------------------+ EOF printlog("finished check $count urls at $cur_time... "); sub sendemail { my $content = shift; #change it for your smtp server my $host = 'smtp.163.com'; #your email account here my $mail_from = 'your_email_account'; #change it what you want to send here my $mail_to = '[email protected]'; #email subject my $subject = 'Error Notice'; my $smtp = Net::SMTP->new($host, Hello=>'localhost', Timeout=>120, Debug=>1 ); # modify it with your email username and password $smtp->auth('your_email_username','your_email_password'); $smtp->mail($mail_from); $smtp->to($mail_to); $smtp->data(); $smtp->datasend("To: $mail_to "); $smtp->datasend("From: $mail_from "); $smtp->datasend("Subject: $subject "); $smtp->datasend(" "); $smtp->datasend("$content "); $smtp->dataend(); $smtp->quit; } sub printlog { my $str = shift; open LOG,'>>','check_url_status.log' or die "$! "; print LOG "$str"; close LOG; } url.txt code: http://www.abc.com http://www.test.com http://www.xyz.com ………………………… ………………………… ………………………… http://www.def.com http://www.123.com |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|