Как сделать индикатор выполнения, используя Term :: ProgressBar с методом записи LWP :: UserAgent? - PullRequest
2 голосов
/ 18 мая 2010
#!/usr/bin/perl

use LWP::UserAgent;
use HTTP::Request::Common;
use HTML::TreeBuilder;
use Cwd 'realpath';

use warnings;
use strict;

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

my $response = $ua->request(
                POST 'http://mydomain.com/upload.php',
                'Content-Type' => 'multipart/form-data',
                'Content' => [ 'fileup' => [realpath(shift)] ],
              );

my $tree = HTML::TreeBuilder->new_from_content($response->decoded_content);

my $image = $tree->look_down('_tag','a',sub { $_[0]->{href} =~ /http:\/\/images.mydomain.com\/images\/[^\?]/ if $_[0]->{href}})->{href};
print "\n".$image."\n\n";

Как мне создать индикатор выполнения для этого скрипта, показывающего загрузку? : content_cb позволяет вам создавать индикаторы выполнения для ответа после загрузки изображения, так как мне сделать это для самой загрузки?

1 Ответ

0 голосов
/ 18 мая 2010

Это не отвечает на ваш первоначальный вопрос, но, возможно, вы можете использовать вместо этого встроенную индикатор выполнения:

$ua->show_progress
$ua->show_progress( $boolean )
    Get/set a value indicating whether a progress bar should be displayed on on the
    terminal as requests are processed. The default is FALSE.

(из LWP :: UserAgent POD)

...