| А может существует способ при котором можно было бы управлять количество | байт скачиваемого контента,
Можно так сделать LWP::UserAgent->max_size($bytes) "Get/set the size limit for response content." 27 октября 2013 г., 11:44 пользователь Alessandro Gorohovski < [email protected]> написал: > Mons Anderson <[email protected]> писал(а) в своём письме Sun, 27 Oct 2013 > 01:30:14 +0300: > > > On 26.10.2013, at 23:58, Alessandro Gorohovski <[email protected]> >> 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 > [email protected] | http://moscow.pm.org > -- Alexey Aleksandrov
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
