2013年3月6日 星期三

Perl, NTLM, Reporting Service

#!/usr/bin/perl

require "$ENV{HOME}/perl/setEnv.pl";

use Mail::Sendmail;
use MIME::QuotedPrint;
use MIME::Base64;

use LWP::UserAgent;
use HTTP::Request::Common;
use LWP::Debug qw(+);

#my $url = "http://web4/ReportServer/Pages/ReportViewer.aspx?%2f%e4%bb%8a%e6%97%a5%e7%87%88%e6%b3%a1%e7%94%9f%e7%94%a2%e9%81%94%e6%88%90%2f%e4%bb%8a%e6%97%a5%e7%87%88%e6%b3%a1%e7%94%9f%e7%94%a2%e9%81%94%e6%88%90&rs:Command=Render";
my $url =  "http://web4/ReportServer?%2f%e4%bb%8a%e6%97%a5%e7%87%88%e6%b3%a1%e7%94%9f%e7%94%a2%e9%81%94%e6%88%90%2f%e4%bb%8a%e6%97%a5%e7%87%88%e6%b3%a1%e7%94%9f%e7%94%a2%e9%81%94%e6%88%90&rs:Command=Render&rs:Format=HTML4.0&rc:LinkTarget=_top&rc:Javascript=false&rc:Toolbar=false";

my $ua = new LWP::UserAgent(keep_alive => 1);
$ua->agent('Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)');
$ua->credentials('web4:80', '', 'huko\xxx', 'yyy');

my $req = HTTP::Request->new(GET => $url);
print "--Peforming request now...---------\n";
my $res = $ua->request($req);
print "--Done with request ...---------\n";

# check the outcome
if ($res->is_success) {
    print "Success !!!\n";
    print $res->content;
} else {
    print "Error: " . $res->status_line . "\n";
    #print $res->headers()->as_string(), "\n";
}

&mailWeb4();
exit 0;

sub mailWeb4 {
    my %mail = (
                From => 'MIS <web@aot.com.tw>',
                  To => "ty.ruan\@aot.com.tw",
             Subject => "燈泡生產達成管理報表",
               );
    $mail{smtp} = "$smtp";
 
  $message = $res->content;
  #my ($msg) = $message =~ m/(<TABLE.*<\/TABLE>)/;
  #print "$msg";
   
    $boundary = "====" . time() . "====";
    $mail{'content-type'} = "multipart/html; boundary=\"$boundary\"";
   
$boundary = '--'.$boundary;
$mail{body} = <<END_OF_BODY;
$boundary
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

$message
$boundary

$boundary--
END_OF_BODY
   
    sendmail(%mail) || print "Error: $Mail::Sendmail::error\n";

}

沒有留言:

張貼留言