#!/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";
How do I create a progress bar for this script showing the upload? :content_cb let's you create progress bars for the response after the image is uploaded, so how do I do it for the upload itself?
This doesn't answer your initial question, but maybe you can use the builtin progress bar instead:
$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.
(from LWP::UserAgent POD)
精彩评论