El servidor al cual le hago las peticiones usa Transfer-Encoding: chunked, y muchas veces el content del request, viene con caracteres extraños colocados "al azar" como una string "\r\n1ff8\r\n" o "\r\n994\r\n". Creo yo que esto es debido a algún problema en la librería en pegar los datos que envía el servidor y coloca alguna información de más que no debería. También muchas veces el texto se queda por la mitad y no se puede ver el contenido completo del request.
Por extraño que parezca, ahora estoy usando Curl, (la librería WWW::Curl::Easy) para ser exactos, y hasta ahora me funciona perfecto y sin problemas. (También funciona bien si lo veo desde un navegador, Firefox y Chromium funcionan bien.)
¿Qué podría haber estado pasando con LWP? El enfoque con Curl da resultados, pero quería hacer el script multi thread para que fuera más rápido la búsqueda de información y con Curl según he leído, no soporta dos request al mismo tiempo.
¡Muchas gracias!
Si sirve de algo estoy usando Debian 6 Stable en amd64.
Y mi versión de Perl v5.10.1 (*) built for x86_64-linux-gnu-thread-multi
Un extracto de mi código con LWP es el siguiente :
- my $agent = new LWP::UserAgent;
- my $cookie_jar = HTTP::Cookies->new('file' => 'cookies.txt', autosave => 1, ignore_discard => 1 );
- $agent->cookie_jar($cookie_jar);
- my $URL = "https://XXXXXX.net/client/iq2.php?22222";
- my $req = HTTP::Request->new(GET => $URL);
- my $res = $agent->request($req);
- my $content = $res->content;
- print $content;