#!/usr/local/bin/perl

use strict;
use LWP;
use HTML::LinkExtor;
use URI::URL;
use File::Copy;
use FileHandle;
use Socket;
use POSIX qw(ctime);
use POSIX qw(mktime);
use POSIX qw(strftime);
use POSIX qw(ceil);
use POSIX ":sys_wait_h";

my $forward_file;

###
# Objects
my $UA = new LWP::UserAgent;
my $LE = HTML::LinkExtor->new();

$UA->agent("Mozilla/8.0");
$UA->timeout(60);

###
# Print usage information
sub print_usage {
    die "usage: ./driver.pl forward_file\n";
}

sub do_request {
    my $url = shift;
    my $file = shift;

    # Send the request
    my $headerobj = new HTTP::Headers();
    my $response = $UA->request(HTTP::Request->new("GET" => $url, $headerobj));
    my $reply = $response->content();

    open FILE, ">$file";
    print FILE $reply;
    close FILE;
}

###
# Main program
if ($#ARGV < 0) {
    print_usage();
}
$forward_file = $ARGV[0];

open FORWARD_FILE, $forward_file;
while (<FORWARD_FILE>) {
    chomp;
    my ($url, $filename) = split;
    do_request($url, $filename);
}
close FORWARD_FILE;

