<HTML><BODY><br><br>Тогда, Батенька, IO::Socket вам в помощь...<br><br><br>С почтением,<br>  Илья Винокуров<br><br>Понедельник, 28 октября 2013, 17:17 +02:00 от "Alessandro Gorohovski" <an.gorohovski@gmail.com>:<br>
<blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;" class="mailru-blockquote">
        <div id="">
        



    






        

        
        
        
        
        

        



<div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
         
        <div id="style_13829734970000000866" class="mr_read__body">
                <base target="_self" href="https://e.mail.ru/">
                
                        <div id="style_13829734970000000866_BODY">Алексей Александров <<a href="sentmsg?compose&To=alexeyaleksandrov@gmail.com">alexeyaleksandrov@gmail.com</a>> писал(а) в своём письме  <br>
Mon, 28 Oct 2013 16:24:27 +0200:<br>
<br>
> | А может существует способ при котором можно было бы управлять  <br>
> количество<br>
> | байт скачиваемого контента,<br>
><br>
> Можно так сделать  LWP::UserAgent->max_size($bytes)<br>
> "Get/set the size limit for response content."<br>
<br>
Пробовал в первую очередь.<br>
Нет, это вообще --- ерунда и<br>
правильно, надежно не работает.<br>
<br>
> 27 октября 2013 г., 11:44 пользователь Alessandro Gorohovski <<br>
> <a href="sentmsg?compose&To=an.gorohovski@gmail.com">an.gorohovski@gmail.com</a>> написал:<br>
><br>
>> Mons Anderson <<a href="sentmsg?compose&To=mons@cpan.org">mons@cpan.org</a>> писал(а) в своём письме Sun, 27 Oct 2013<br>
>> 01:30:14 +0300:<br>
>><br>
>><br>
>>  On 26.10.2013, at 23:58, Alessandro Gorohovski  <br>
>> <<a href="sentmsg?compose&To=an.gorohovski@gmail.com">an.gorohovski@gmail.com</a>><br>
>>> wrote:<br>
>>><br>
>>>  Уважаемое сообщество,<br>
>>>> Добрый вечер!<br>
>>>><br>
>>>> Подскажите,<br>
>>>> можно ли надежно и как определить размер (объем)<br>
>>>> предполагаемого к скачиванию контента<br>
>>>> (например, html-страницы) без загрузки всей страницы.<br>
>>>><br>
>>>><br>
>>>> Я сейчас пользуюсь<br>
>>>><br>
>>>> my $agent = LWP::UserAgent->new;<br>
>>>><br>
>>>> my $request = HTTP::Request->new( GET => $url );<br>
>>>> $request->header('Accept' => 'text/html');<br>
>>>><br>
>>>> my $response = $agent->request( $request );<br>
>>>><br>
>>><br>
>>> В этом месте вы уже получили весь ответ целиком.<br>
>>><br>
>><br>
>> Согласен.<br>
>><br>
>><br>
>>  $response->is_success || print FILE_ERR "$id\t$url:\t",<br>
>>>> $response->message, "\n";<br>
>>>><br>
>>>> И далее парсим<br>
>>>> $response->headers_as_string<br>
>>>><br>
>>>> на предмет 'Content-Length'<br>
>>>><br>
>>>> Но, к сожалению удручает то, что не всегда заголовок скачиваемой  <br>
>>>> страницы<br>
>>>> содержит поле  'Content-Length'<br>
>>>> :(<br>
>>>><br>
>>>><br>
>>><br>
>>> Если content-length нет, то значит там ответ transfer-encoding:  <br>
>>> chunked.<br>
>>> а это, в свою очередь, означает, то вы не можете заранее узнать какой<br>
>>> длины будет ответ, пока не считаете его целиком.<br>
>>><br>
>><br>
>> Печально.<br>
>> А может существует способ при котором можно было бы управлять количество<br>
>> байт скачиваемого контента, например, загрузив не более 20 kb,  <br>
>> прекращать<br>
>> прием данных<br>
>> (разорвать соединение принудительно)<br>
>> ?<br>
>><br>
>> --<br>
>> ANG<br>
>><br>
>> --<br>
>> Moscow.pm mailing list<br>
>> <a href="sentmsg?compose&To=moscow%2dpm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
>><br>
><br>
><br>
><br>
<br>
<br>
-- <br>
ANG<br>
-- <br>
Moscow.pm mailing list<br>
<a href="sentmsg?compose&To=moscow%2dpm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div>
                        
                
                <base target="_self" href="https://e.mail.ru/">
        </div>

        
</div>


</div>
</blockquote>
<br>
<br>-- <br>Илья Винокуров<br></BODY></HTML>