Categories
Perl

Perl LWP UserAgent Example: Get Picture Using LWP

Perl LWP UserAgent is an amazing tool for automating web queries. Here is the simple text to get HTTP or FTP data using the Perl LWP UserAgent:

Perl LWP UserAgent is an amazing tool for automating web queries. Here is the simple text to get HTTP or FTP data using the Perl LWP UserAgent:

#!/usr/bin/perl
use LWP::UserAgent;
use CGI qw(header -no_debug);
# this is an awesome picture, and you wanted to get it via script....
$URL = 'http://digitalcrunch.com/wp-content/uploads/jamesfraze1.jpg';
my $res = LWP::UserAgent->new->request(new HTTP::Request GET => $URL);
# binmode helps when printing data, perl defaults data type as text
binmode(STDOUT);
# if it's a picture, print the header type and then data.
# if it's not a valid picture, print text/html header type and then the status
# note: this won't work from the command line is meant to be a CGI script!
# words with image/gif only.   Use different headers for different types of image
# or alter code to account for different types.
print $res->is_success ? (header('image/gif'), $res->content)
                        : (header('text/html'), $res->status_line);

Just in case you were curious what it would do on the command line, here is an example:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.