標籤

4GL (1) 人才發展 (10) 人物 (3) 太陽能 (4) 心理 (3) 心靈 (10) 文學 (31) 生活常識 (14) 光學 (1) 名句 (10) 即時通訊軟體 (2) 奇狐 (2) 爬蟲 (1) 音樂 (2) 產業 (5) 郭語錄 (3) 無聊 (3) 統計 (4) 新聞 (1) 經濟學 (1) 經營管理 (42) 解析度 (1) 遊戲 (5) 電學 (1) 網管 (10) 廣告 (1) 數學 (1) 機率 (1) 雜趣 (1) 證券 (4) 證券期貨 (1) ABAP (15) AD (1) agentflow (4) AJAX (1) Android (1) AnyChart (1) Apache (14) BASIS (4) BDL (1) C# (1) Church (1) CIE (1) CO (38) Converter (1) cron (1) CSS (23) DMS (1) DVD (1) Eclipse (1) English (1) excel (5) Exchange (4) Failover (1) Fedora (1) FI (57) File Transfer (1) Firefox (3) FM (2) fourjs (1) Genero (1) gladiatus (1) google (1) Google Maps API (2) grep (1) Grub (1) HR (2) html (23) HTS (8) IE (1) IE 8 (1) IIS (1) IMAP (3) Internet Explorer (1) java (4) JavaScript (22) jQuery (6) JSON (1) K3b (1) ldd (1) LED (3) Linux (117) Linux Mint (4) Load Balance (1) Microsoft (2) MIS (2) MM (51) MSSQL (1) MySQL (27) Network (1) NFS (1) Office (1) OpenSSL (1) Oracle (126) Outlook (3) PDF (6) Perl (60) PHP (33) PL/SQL (1) PL/SQL Developer (1) PM (3) Postfix (2) postfwd (1) PostgreSQL (1) PP (50) python (5) QM (1) Red Hat (4) Reporting Service (28) ruby (11) SAP (234) scp (1) SD (16) sed (1) Selenium (3) Selenium-WebDriver (5) shell (5) SQL (4) SQL server (8) sqlplus (1) SQuirreL SQL Client (1) SSH (2) SWOT (3) Symantec (2) T-SQL (7) Tera Term (2) tip (1) tiptop (24) Tomcat (6) Trouble Shooting (1) Tuning (5) Ubuntu (37) ufw (1) utf-8 (1) VIM (11) Virtual Machine (2) VirtualBox (1) vnc (3) Web Service (2) wget (1) Windows (19) Windows (1) WM (6) Xvfb (2) youtube (1) yum (2)

2013年3月6日 星期三

Perl, Mechanize, username/password login form

#!/usr/bin/perl

require "$ENV{HOME}/perl/setEnv.pl";
use WWW::Mechanize;
use Mail::Sendmail;
use MIME::QuotedPrint;
use MIME::Base64;
use HTML::TokeParser;
use Encode;

my $username = "xxx";
my $password = "yyy";
my $url = "http://mes/Mes2/LoginForm.jsp";
my $mech = WWW::Mechanize->new();
$mech->get($url);

## Browse the HTML source of the ASP page to get these parameters <br>
$mech->forms("login");
$mech->field("UserName", $username);
$mech->field("PassWord", $password);
$mech->click("button");

$mech->get("http://mes/Mes2/pp_prod_lamp_target_today_efficiency.jsp");

#open FILE ,">/tmp/LampTarget.html";
#print FILE $mech->content;
#close FILE;

#my $p = HTML::TokeParser->new("/tmp/LampTarget.html");
#$p->{textify}{"td"} = "alt";
#$p->{textify}{"th"} = "alt";
#$p->{textify}{"tr"} = "alt";
#$p->{textify}{"/td"} = "alt";
#$p->{textify}{"/th"} = "alt";
#$p->{textify}{"/tr"} = "alt";
#my @texts;
#while (my $token = $p->get_tag("table")) {
#    my $text = $p->get_text("table");
#    $cnt++;
#    next unless($cnt >= 6);
#    #print "------------------$cnt-------------------------\n";
#    #print "$text\n";
#    push @texts, "<table>$text</table>";
#}

&mailLampTarget();

sub mailLampTarget {
    my %mail = (
                From => 'MIS <web@aot.com.tw>',
                  To => "ty.ruan\@aot.com.tw",
             Subject => "燈泡生產管理報表"
               );
    $mail{smtp} = "$smtp";
 
  #$message = "$texts[0].$texts[1]";
  #print "@texts\n";
  $message = $mech->content;
 
    $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";

}

沒有留言:

張貼留言