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 "$!\n";
- 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,"\n";
- } else {
- print "$url\tFailed:\t",$res->status_line,"\n";
- sendemail("$url\tFailed:\t" . $res->status_line,"\n");
- }
- }
- my $cur_time = strftime "%Y-%m-%d",localtime;
- print "\n";
- print <<EOF;
- +-------------------------------------+
- + Finished check $count urls +
- +-------------------------------------+
- EOF
- printlog("finished check $count urls at $cur_time...\n");
- 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 = 'abc@abc.com';
- #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\n");
- $smtp->datasend("From: $mail_from\n");
- $smtp->datasend("Subject: $subject\n");
- $smtp->datasend("\n");
- $smtp->datasend("$content\n\n");
- $smtp->dataend();
- $smtp->quit;
- }
- sub printlog {
- my $str = shift;
- open LOG,'>>','check_url_status.log' or die "$!\n";
- 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
本文转自dongfang_09859 51CTO博客,原文链接:http://blog.51cto.com/hellosa/505781,如需转载请自行联系原作者