#!/usr/bin/perl use LWP::UserAgent; use HTTP::Cookies; use Net::Ping; $USER="xxxxxxxx"; $PASS="xxxxxxxx"; $HOST="www.veloxzone.com.br"; $PROVEDOR="xxxxxxx"; $PING_PAGE="www.terra.com.br"; $LOG="/var/log/connect_terra"; sub con { print "------- logon terra ---------\n"; my $browser = LWP::UserAgent->new( cookie_jar => HTTP::Cookies->new() ); my $resp = $browser->get("http://$HOST/home"); print "home page done\n"; $resp = $browser->get("http://$HOST/servlet/JavascriptProbe?prevURL=http%3A//www.veloxzone.com.br/home&browser=netscape&version=5&javascript=1.5&getElementById=true&getElementTagName=true&documentElement=true&anchors=true®exp=true&option=true&all=false&cookie=true&images=true&layers=false&forms=true&links=true&frames=true&screen=true&"); print "Javascript probe done\n"; $resp = $browser->get("http://www.veloxzone.com.br/user/pages/serviceList.jsp"); $resp->content =~ /href='\/vfile\/pages\/serviceLogon\.jsp\?service\=([^']*$PROVEDOR[^']*)'/; my $service = $1; if (not $service) { print "SERVICE NOT FOUND: Ou você está conectado ou o seu serviço foi renomeado.\n"; return; } print "Found service : $service\n"; $resp = $browser->post("http://$HOST/serviceLogon", { service => "$service", fcn => "serviceLogon", ac => "home", usr => "", username=> $USER, password=> $PASS, OK => "OK" }); print "------- logon done ---------\n"; } con() unless ($ARGV[0] eq "notcon"); exit if ($ARGV[0] eq "once"); my $n = 0; my $ping = Net::Ping->new("icmp"); while (1) { print localtime(time) . " :"; print "ping ..."; if (my $r = $ping->ping($PING_PAGE, 1)) { print " Ok\n"; } else { if (defined $r) { print " Not reachable\n"; } else { print " Not found\n"; } con(); } sleep(2); }