Category: | Web Stuff |
Author/Contact Info | Oscar Alarcon R Buenos Aires - Argentina |
Description: | It an Win32 based scripting like tried to connect to URL site whith validation or not, the second portion its the ini generator. Enjoy |
system("cls"); (%param)=&config(); $url = $param{URL}; $port = $param{POR}; $valid = $param{VAL}; if ($valid eq "S"){ $user = $param{USR}; $passwd = $param{PAS}; } use LWP::UserAgent; $ua = LWP::UserAgent->new; $request = HTTP::Request->new(GET => $url); if ($valid eq "S"){ $request->authorization_basic($user, $passwd); } $respons = $ua->request($request); $ua->proxy(['http', 'ftp'] , $url); $h = new HTTP::Headers; %accepts = $h->clone; print $accepts->[1]->[1]; if ($respons->is_success) { (@datos_t)=split(/\//, $url); $server = uc($datos_t[2]); # Webserver if (-e "sonda-w.flg"){ $mensaje1 = "postemsg -S tec -r HARMLESS -m \"ReprogramacionDe +positos:Verificacion de Webserver: OK\" hostname=$server aplicacion=R +eprogramacionDepositos instancia=sonda BCRIO_rprgdep_webserver_up BCR +IO_RPRGDEP"; unlink("sonda-w.flg"); if (-e "sonda-n.flg"){ unlink("sonda-n.flg"); } } } else { (@datos_t)=split(/\//, $url); $server = uc($datos_t[2]); ($status)=&conectiv($server); if ($status eq "OK"){ # Webserver $mensaje1 = "postemsg -S tec -r CRITICAL -m \"ReprogramacionDe +positos:Verificacion de Webserver FAIL Verificar Estado del Servicio +y/o ASP: Error\" hostname=$server aplicacion=ReprogramacionDepositos +instancia=sonda BCRIO_rprgdep_webserver_down BCRIO_RPRGDEP"; open( FLAG, ">sonda-w.flg"); print FLAG "fail\n"; close(FLAG); }else{ # Webserver $mensaje1 = "postemsg -S tec -r CRITICAL -m \"ReprogramacionDe +positos:Verificacion de Webserver FAIL Verificar Estado de RED del Eq +uipo: Error\" hostname=$server aplicacion=ReprogramacionDepositos ins +tancia=sonda BCRIO_rprgdep_webserver_down BCRIO_RPRGDEP"; open( FLAG, ">sonda-n.flg"); print FLAG "fail\n"; close(FLAG); } } system($mensaje1); my $cont = $respons->content; #Especifico Ruben Rodriguez. if ($cont =~ /FREEUSER=ERROR/){ # IATX $mensaje1 = "postemsg -S tec -r CRITICAL -m \"ReprogramacionDe +positos:Verificacion de ASP Webserver FAIL Verificar Estado del Servi +cio ASP: Error\" hostname=$server aplicacion=ReprogramacionDepositos +instancia=sonda BCRIO_rprgdep_application_error BCRIO_RPRGDEP"; open( FLAG, ">sonda-a.flg"); print FLAG "fail\n"; close(FLAG); }else{ # IATX if (-e "sonda-a.flg"){ $mensaje1 = "postemsg -S tec -r HARMLESS -m \"Reprogramaci +onDepositos:Verificacion de ASP Webserver : OK\" hostname=$server apl +icacion=ReprogramacionDepositos instancia=sonda BCRIO_rprgdep_applica +tion_ok BCRIO_RPRGDEP"; unlink("sonda-a.flg"); } } system($mensaje1); if ($cont =~ /^4\d\d/) { die "$cont"; } #print $cont; sub codekey{ use MIME::Base64; ($var, $ent) = @_; if($var eq E){ $out = encode_base64($ent); }elsif($var eq D){ $out = decode_base64($ent); } return($out); } sub config { open(CFG, "<sonda.ini"); %param = (); while (<CFG>){ $linea = $_; chomp($linea); ($campo, $class, $info)=split(/\;/, $linea); chomp($campo, $class, $info); if ($class eq "C"){ ($content)=&codekey("D", $info); $param{$campo}=$content; }else{ $content=$info; $param{$campo}=$content; } } close(CFG); return(%param); } sub conectiv { ($host)=@_; use Net::Ping; $p = Net::Ping->new("icmp"); $ping_v = $p->ping($host, 2); if (!$ping_v){ $status = "FAIL"; }else{ $status = "OK"; } $p->close(); return($status); }Config.pl $verif = "N"; while ($verif eq "N"){ &inicio(); ($verif)=&verifica1(); } if ($valid eq "S"){ &validacion(); } &make(); exit; sub inicio { system("cls"); print "Modulo de Configuración de Sonda Web Services\n"; print "----------------------------------------------------------- +-----------------------------\n\n"; print " URL ( ejm. http://www.sinapse.com.ar/ ) : "; $url = <STDIN>; chomp($url); print " PORT ( ejm. 4444 ) : "; $port = <STDIN>; chomp($port); print " Requiere Validacion ([S/s] Si - [N/n] No ) : "; $valid1 = <STDIN>; chomp($valid1); $valid = uc(substr($valid1,0,1)); print "\n [SYSTEM] Verificando datos ingresados\n\n"; if ($valid eq "S"){ if (!$port){ print " [SYSTEM] URL especificada : ".$url." con + Validacion\n"; }else{ print " [SYSTEM] URL especificada : ".$url.":".$port." con + Validacion\n"; } }else{ if (!$port){ print " [SYSTEM] URL especificada : ".$url." sin + Validacion\n"; }else{ print " [SYSTEM] URL especificada : ".$url.":".$port." sin + Validacion\n"; } } print "\n"; return(); } sub verifica1 { print " Son correctos ([S/s] Si - [N/n] No ) : "; $verif1 = <STDIN>; chomp($verif1); $verif = uc(substr($verif1,0,1)); return($verif); } sub getNamePass { use Term::ReadKey; print " UserName : "; my $username = <STDIN>; chomp ($username); print " Password : "; ReadMode 'noecho'; my $pass = ReadLine 0; chomp($pass); print "\n"; return ($username,$pass); } sub validacion { print "\n [SYSTEM] El Site requiere autorizacion \n\n"; ($user,$pass)=&getNamePass(); print "\n [SYSTEM] Encryptando Informacion vital \n\n"; chomp($user, $pass); ($user)=&codekey("E", $user); ($pass)=&codekey("E", $pass); chomp($user, $pass); return(); } sub make { print "\n [SYSTEM] Generando sonda.ini \n\n"; open(CFG,">sonda.ini"); print CFG "URL;N;$url\n"; print CFG "POR;N;$port\n"; print CFG "VAL;N;$valid\n"; if ($valid eq "S"){ print CFG "USR;C;$user\n"; print CFG "PAS;C;$pass\n"; } return(); } sub codekey{ use MIME::Base64; ($var, $ent) = @_; if($var eq E){ $out = encode_base64($ent); }elsif($var eq D){ $out = decode_base64($ent); } return($out); } |
Back to
Code Catacombs