• Publicidad

LWP::UserAgent binary response

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

LWP::UserAgent binary response

Notapor panterozo » 2011-11-06 14:22 @640

Estimados:

Estoy intentando obtener con LWP::UserAgent la información retornada desde un sitio X. Utilizo wireshark para sniffear los paquetes enviados y recibidos, y necesito obtener un dato desde $res->content;, pero cuando corro mi script y leo la información entregada en $res->content, al parecer viene en binario, mientras que wireshark muestra correctamente la información:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
\t<frame name="contentFrame" src="PreLogin.jsf?time=1320604789399" scrolling="auto"\r\n
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


De $res->content, necesito obtener el valor de time=1320604789399, pero en Perl, al correr mi script me retorna lo siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
¿-ÇÖak·çš&i3ñL[ ˆŸÀ³è        ×­­~Æ¢Ÿ]¢UÉ̱‡[œñðn6k#軜€Ù­Æ7tMk«º]âlãyU¢‚iPrS4_¿{ƒêÆ9R±"hØ®¥Š™²ºvj,TEEíF"(TDÐB™ÑY¥Âœ)–ŸujŒFûÃÃÃýÏGGïW€$çUZj‰LÌΣ< …?‚î'ñÑ€=¥Ò*pÃdÅåµy)X–ë;×^ò'ÿÇŠnÑòÙ̧ºØxW?Ykæœø+6-«–?
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


He estado buscando por qué no puedo leer $res->content para luego parsear la información y obtener el dato time, por lo que acudo a uds...

Espero me puedan ayudar

¡¡¡Saludos!!!
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Publicidad

Re: LWP::UserAgent binary response

Notapor explorer » 2011-11-06 14:38 @651

Tendrá algo que ver la codificación del contenido original, supongo. Y la codificación con la que lo sacas a pantalla o archivo.

Hay bastantes caracteres 'Ã', así que supongo que algo de la codificación utf8 estará involucrada.

Poco más se me ocurre decir...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: LWP::UserAgent binary response

Notapor panterozo » 2011-11-06 18:48 @825

Intentaré cambiar la codificación a ver si funciona.
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: LWP::UserAgent binary response

Notapor panterozo » 2011-11-06 22:56 @997

Leí por ahí que $res->decoded_content; decodifica cualquier tipo de codificación, y en efecto, funcionó. Ahora obtengo los datos deseados. Por otra parte, tenía en el header
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $ua->default_header('Accept-Encoding' => 'gzip,deflate');
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


(Utilizar
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $res->decoded_content
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
en vez de
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $res->content
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
para ver la información)

Gracias de todas maneras ;)

¡¡¡Saludos!!!
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: LWP::UserAgent binary response

Notapor explorer » 2011-11-07 18:20 @805

Una aclaración.

Los métodos content() y decoded_content() son del objeto HTTP::Response, y que la diferencia es que decoded_content() tiene en cuenta a lo que diga el campo "Content-Encoding" y a la codificación de los caracteres (codificados URL-encoded).

Si te funciona ahora, principalmente, es porque quitaste el 'Accept-Encoding' => 'gzip,deflate'.

De todas maneras, también podías usar algún módulo de Perl para descomprimir el contenido ;)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron