[Moscow.pm] AnyEvent::HTTP как ограничить размер ответа?
Павел Купцов
pavel на kuptsov.info
Пт Дек 11 04:28:50 PST 2015
Коллеги, вот вопрос по теме рассылки есть, т.е. по perl :)
Кто пользует у себя сабж - в частности его метод http_get,
как решаете вопрос с ограничением размера ответа сервера?
А то у меня попадаются в запросах сайты которые бесконечно отдают
text/html, в итоге скрипт не заканчивается по таймауту, а все это дело
принимает в память, что ведет к ее исчерпанию.
Вот на сейчас у меня примерно так:
http_get $url,
headers => {
'user-agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
},
on_header => sub {
$_[0]{"content-type"} =~ /^text\/html\s*(?:;|$)/
},
timeout => 20,
sub {
my ( $body, $hdr ) = @_;
if ( $hdr->{Status} =~ /^2/ ) {
say "OK";
}
else {
say "Error: $hdr->{Status}";
}
Пока только вижу вариант с установкой обработчика на on_body - но не нашел
живых примеров. Если подкините немного - мои бесконечные благодарности :)))
--
Павел
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20151211/275bd0f9/attachment-0001.html>
Подробная информация о списке рассылки Moscow-pm