Hola de nuevo, tras largo tiempo.
Estoy intentando leer varias URL, de red interna, que requieren autenticación con usuario/contraseña. El objetivo es leer el código retornado e interpretarlo en busca de ciertos valores.
Caso 1: Este funciona correctamente.
use LWP::UserAgent;
$ua = new LWP::UserAgent;
my $req = HTTP::Headers->new;
$req = HTTP::Request->new(GET => 'http://172.22.1.142/accessos/accessos.html');
$req->authorization_basic('miusuario', 'mipassword');
print "Content-type: text/html\
\
";
my $response = $ua->request($req);
print "Response Code: " . $response->code . "\n";
print "Response Content: " . $response->content;
Caso 2: Este no funciona. Retorna: 400 URL must be absolute
use LWP::UserAgent;
$ua = new LWP::UserAgent;
my $req = HTTP::Headers->new;
my $url = URI->new('http://172.22.33.177:8803/gpm/perform.xml?resource=,,SYSPLEX&id=8D4540450&buttons=no%20title=%22zSystem%20%%20CPU%20utilization%20(CP)%20by%20MVS%20image%22%20scrolling=%22no%22/%3E');
$req = HTTP::Request->new(GET => '$url');
$req->authorization_basic('misuario', 'mipassword');
print "Content-type: text/html\
\
";
my $response = $ua->request($req);
print "Response Code: " . $response->code . "\n";
print "Response Content: " . $response->content;
Este caso 2 no funciona, no encuentro el motivo. Probando desde un navegador funciona correctamente.
El caso 1 funciona correctamente tanto en navegador como con el script Perl.
¿Alguien puede ayudarme?
Un saludo