1

Mojo::UserAgent是否有类似于LWP::UserAgent show_progress选项的东西?

4

2 回答 2

2

您可以借助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";
于 2015-03-20T11:18:56.090 回答
0

不,不可能做与 usingshow_progress类似的事情。LWP::UserAgentMojo::UserAgent

于 2013-06-29T16:02:51.400 回答