[Moscow.pm] Content-Length of Webpage
Mons Anderson
mons на cpan.org
Сб Окт 26 15:30:14 PDT 2013
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.
а это, в свою очередь, означает, то вы не можете заранее узнать какой длины будет ответ, пока не считаете его целиком.
Подробная информация о списке рассылки Moscow-pm