Hola a todos,
Estoy tratando de realizar lo siguiente:
Tengo un dispositivo que tiene un pequeño servidor web. Tiene un archivo xml (
http://IP_dispositivo/counters.xml) que quiero consultar regularmente y automáticamente para recoger su información. El problema es que para acceder a ese archivo tengo que registrarme previamente (
http://IP_dispositivo/frameCmd_Login.htm) en el siguiente formulario:
Using html4strict Syntax Highlighting
<form method="get" action="/Action_Login" onsubmit="return MD5HASH()">
<font color="#000000" align="center">Please Enter Password</font>
<input size="21" type="password" value="" name="LOGINPASSWORD" id="PD" />
<input name="submit" type="submit" value="LOGIN" />
Lo he intentado usando los módulos LWP y URL, pero no sé hacerlos funcionar correctamente; soy novato con este lenguaje. El
script que he probado es el siguiente:
Using perl Syntax Highlighting
#!/usr/bin/perl
use LWP::UserAgent;
my $ua = new LWP::UserAgent;
my $req = new HTTP::Request(GET => 'http://IP_dispositivo/frameCmd_Login.htm');
$req->authorization_basic("password123");
my $res = $ua->request($req);
if ($res->is_success)
{
my $file = $res->content;
print $file;
}
else
{
die $res->status_line;
}
También he probado con el módulo WWW::Mechanize de la siguiente manera:
Using perl Syntax Highlighting
#!/usr/bin/perl
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
$mech->get( $url );
$mech->follow_link( url => 'http://IP_dispositivo/frameCmd_Login.htm' );
$mech->submit_form(
form_number => 1,
fields => {
LOGINPASSWORD => 'password123',
}
);
Pero no entiendo muy bien cómo funciona.
Lo que estoy intentado hacer es, primero registrarme en la primera página (login) y posteriormente descargarme y analizar el archivo xml.
¿Alguien sabe cómo podría realizar esto correctamente? ¿Podéis echarme una mano?
Gracias por todo,
David