[Moscow.pm] Content-Length of Webpage
Илья Винокуров
ilvin на mail.ru
Пн Окт 28 13:33:39 PDT 2013
Тогда, Батенька, IO::Socket вам в помощь...
С почтением,
Илья Винокуров
Понедельник, 28 октября 2013, 17:17 +02:00 от "Alessandro Gorohovski" <an.gorohovski на gmail.com>:
>Алексей Александров < alexeyaleksandrov на gmail.com > писал(а) в своём письме
>Mon, 28 Oct 2013 16:24:27 +0200:
>
>> | А может существует способ при котором можно было бы управлять
>> количество
>> | байт скачиваемого контента,
>>
>> Можно так сделать LWP::UserAgent->max_size($bytes)
>> "Get/set the size limit for response content."
>
>Пробовал в первую очередь.
>Нет, это вообще --- ерунда и
>правильно, надежно не работает.
>
>> 27 октября 2013 г., 11:44 пользователь Alessandro Gorohovski <
>> an.gorohovski на gmail.com > написал:
>>
>>> Mons Anderson < mons на cpan.org > писал(а) в своём письме Sun, 27 Oct 2013
>>> 01:30:14 +0300:
>>>
>>>
>>> On 26.10.2013, at 23:58, Alessandro Gorohovski
>>> < an.gorohovski на gmail.com >
>>>> wrote:
>>>>
>>>> Уважаемое сообщество,
>>>>> Добрый вечер!
>>>>>
>>>>> Подскажите,
>>>>> можно ли надежно и как определить размер (объем)
>>>>> предполагаемого к скачиванию контента
>>>>> (например, html-страницы) без загрузки всей страницы.
>>>>>
>>>>>
>>>>> Я сейчас пользуюсь
>>>>>
>>>>> my $agent = LWP::UserAgent->new;
>>>>>
>>>>> my $request = HTTP::Request->new( GET => $url );
>>>>> $request->header('Accept' => 'text/html');
>>>>>
>>>>> my $response = $agent->request( $request );
>>>>>
>>>>
>>>> В этом месте вы уже получили весь ответ целиком.
>>>>
>>>
>>> Согласен.
>>>
>>>
>>> $response->is_success || print FILE_ERR "$id\t$url:\t",
>>>>> $response->message, "\n";
>>>>>
>>>>> И далее парсим
>>>>> $response->headers_as_string
>>>>>
>>>>> на предмет 'Content-Length'
>>>>>
>>>>> Но, к сожалению удручает то, что не всегда заголовок скачиваемой
>>>>> страницы
>>>>> содержит поле 'Content-Length'
>>>>> :(
>>>>>
>>>>>
>>>>
>>>> Если content-length нет, то значит там ответ transfer-encoding:
>>>> chunked.
>>>> а это, в свою очередь, означает, то вы не можете заранее узнать какой
>>>> длины будет ответ, пока не считаете его целиком.
>>>>
>>>
>>> Печально.
>>> А может существует способ при котором можно было бы управлять количество
>>> байт скачиваемого контента, например, загрузив не более 20 kb,
>>> прекращать
>>> прием данных
>>> (разорвать соединение принудительно)
>>> ?
>>>
>>> --
>>> ANG
>>>
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
>>>
>>
>>
>>
>
>
>--
>ANG
>--
>Moscow.pm mailing list
>moscow-pm на pm.org | http://moscow.pm.org
--
Илья Винокуров
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20131029/d16fd353/attachment.html>
Подробная информация о списке рассылки Moscow-pm