0
Mojo::UserAgent是否有類似LWP::UserAgentshow_progress
選項?Mojo :: UserAgent和進度條
Mojo::UserAgent是否有類似LWP::UserAgentshow_progress
選項?Mojo :: UserAgent和進度條
號
我必須提供至少30個字符,但我認爲我最初的3個字回答了這個問題只是完美。
可以使進度條與progress event from Mojo::Message
$| = 1;
my $ua = Mojo::UserAgent->new;
$ua->on(start => sub {
my ($ua, $tx) = @_;
$tx->req->once(finish => sub {
$tx->res->on(progress => sub {
my $msg = shift;
return unless my $len = $msg->headers->content_length;
my $size = $msg->content->progress;
print "\rProgress: ", $size == $len ? 100 : int($size/($len/100)), '%';
});
});
});
my $tx = $ua->get($url);
print $tx->error ? "\nDownloading failed: ".$tx->error->{message} : "\nDownloading finished!\n";
幫助