2016-11-09 8 views
8

Я загружаю большой файл непосредственно в файл с Perl, используя LWP :: UserAgent и :content_file.Показать LWP :: Прогресс загрузки UserAgent

Это упрощенный пример моего кода:

require LWP::UserAgent; 

my $ua = LWP::UserAgent->new; 
$ua->timeout(3600); 
$ua->env_proxy; 

my $response = $ua->get(
    'http://example.com/largefile.xml', 
    :content_file => 'path/to/file/largefile.xml' 
); 

if ($response->is_success) { 
    print "File downloaded\n"; 
} 
else { 
    die $response->status_line; 
} 

Есть ли способ, чтобы отобразить процент статуса загрузки? (Или что-то похож на wget выход)

10% [===>         ] 65.120.154 527K/s 

ответ

9

С documentation for the module.

$ ua-> show_progress

$ ua-> show_progress ($ булево)

Получить/установить значение, указывающее, следует ли индикатор будет отображаться на терминале как запросы обрабатываются. По умолчанию используется FALSE.

+0

Вот и все! Я не могу поверить, что это было так просто, спасибо! – nanocv

+0

Также обратите внимание на исходный код/​​bin/lwp-download установки ActivePerl. –

+3

@KostiaShiian: lwp-download не относится к ActivePerl. Это [доступно через CPAN] (https://metacpan.org/pod/distribution/libwww-perl/bin/lwp-download). –

3

Dave уже ответил на ваш вопрос, но я хотел бы предложить ниже 2 модуля.

+0

Спасибо! Я также посмотрю на них обоих. – nanocv

+0

LWP :: UserAgent :: ProgressBar обеспечивает индикатор выполнения в значительной степени в соответствии с тем, что имел в виду OP. Он вряд ли будет установлен, если это проблема (например, для переносимости) – Randall

 Смежные вопросы

  • Нет связанных вопросов^_^