perl WWW::Mechanize establece el tamaño máximo y sigue obteniendo contenido
Frecuentes
Visto 319 veces
2
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!
1 Respuestas
0
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 perl www-mechanize lwp-useragent max-size or haz tu propia pregunta.
¿Está leyendo la entrada comprimida con gzip o permitiendo que el servidor envíe la entrada comprimida? - mob
Posible duplicado de stackoverflow.com/questions/10989684/… ? - dgw
no es un duplicado porque está preguntando cómo hacerlo con WWW::Mechanize. - srchulo