nanocv nanocv - 1 month ago 22
Perl Question

Display LWP::UserAgent download progress

I'm downloading a large file directly to a file with Perl using LWP::UserAgent and the

:content_file
option.

This is a simplified example of my code:

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;
}


Is there any way to display the percentage of the download status? (or something similiar to
wget
output)

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

Answer

From the documentation for the module.

$ua->show_progress

$ua->show_progress( $boolean )

Get/set a value indicating whether a progress bar should be displayed on the terminal as requests are processed. The default is FALSE.