<div dir="ltr">Коллеги, вот вопрос по теме рассылки есть, т.е. по perl :)<div><br></div><div>Кто пользует у себя сабж - в частности его метод http_get,</div><div>как решаете вопрос с ограничением размера ответа сервера?</div><div><div class="gmail_extra">А то у меня попадаются в запросах сайты которые бесконечно отдают text/html, в итоге скрипт не заканчивается по таймауту, а все это дело принимает в память, что ведет к ее исчерпанию. </div><div class="gmail_extra"><br></div><div class="gmail_extra">Вот на сейчас у меня примерно так:</div><div class="gmail_extra"><div class="gmail_extra"> http_get $url,</div><div class="gmail_extra">    </div><div class="gmail_extra">      headers    => {</div><div class="gmail_extra">        'user-agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',</div><div class="gmail_extra">      },</div><div class="gmail_extra"><br></div><div class="gmail_extra">      on_header => sub {</div><div class="gmail_extra">      $_[0]{"content-type"} =~ /^text\/html\s*(?:;|$)/</div><div class="gmail_extra">        },</div><div class="gmail_extra">      </div><div class="gmail_extra">      timeout => 20,</div><div class="gmail_extra"><br></div><div class="gmail_extra">      sub {</div><div class="gmail_extra">        my ( $body, $hdr ) = @_;</div><div class="gmail_extra"><br></div><div class="gmail_extra">        if ( $hdr->{Status} =~ /^2/ ) {</div><div class="gmail_extra">            say "OK";</div><div class="gmail_extra">        }</div><div class="gmail_extra">        else {</div><div class="gmail_extra">            say "Error: $hdr->{Status}";</div><div class="gmail_extra">        }</div><div class="gmail_extra"><br></div><div><div class="gmail_signature"><div dir="ltr"><div>Пока только вижу вариант с установкой обработчика на on_body - но не нашел живых примеров. Если подкините немного - мои бесконечные благодарности :)))</div><div><br></div><div>--</div><div>Павел</div></div></div></div>
<br><div class="gmail_quote"><br></div></div></div></div>