perl WWW::Mechanize establece el tamaño máximo y sigue obteniendo contenido

Así que estoy usando WWW::Mechanize para obtener el contenido de las páginas y me gustaría establecer un tamaño máximo. Además, si se alcanza el tamaño máximo, me gustaría obtener el contenido que se ha obtenido hasta este momento. Sé que en LWP puedes hacerlo así:

my $ua = LWP::UserAgent->new;
$ua->max_size(1024);
$ua->get($url);

Y ahora, en este punto, incluso si se han alcanzado los 1024 bytes, $ua->content aún mantendrá el contenido legible que había obtenido hasta ese momento. WWW::Mechanize es una subclase de LWP, por lo que puede configurarlo básicamente de la misma manera:

my $mech = WWW::Mechanize->new;
$mech->max_size(1024);
$mech->get($url);

Y luego pensaría que dado que WWW::Mechanize es una subclase de LWP::UserAgent, $mech->content mantendría el contenido que se recuperó hasta que el tamaño alcanzó los 1024 bytes. Sin embargo, cada vez que ejecuto esto y alcanzo el tamaño máximo, obtengo contenido de mi objeto WWW::Mechanize que se ve así:

?|???-???+"?O<?p}?,?ܙmW ?`E??\\ސ???ѧ??U{3???

¿Alguien sabe cómo puedo hacer que WWW::Mechanize genere algo legible como lo hace su superclase LWP::UserAgent? Me gustan algunos de los extras que ofrece WWW::Mechanize, así que me gustaría poder seguir usándolos si es posible en lugar de tener que cambiar a LWP solo por esto. ¡Gracias!

preguntado el 12 de junio de 12 a las 17:06

¿Está leyendo la entrada comprimida con gzip o permitiendo que el servidor envíe la entrada comprimida? -

no es un duplicado porque está preguntando cómo hacerlo con WWW::Mechanize. -

1 Respuestas

creo que es $mech->response->decoded_content

Respondido el 12 de junio de 12 a las 19:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.