#!PERL.EXE -w
use strict;

my $addr;

while ($addr=<STDIN>)
{
    chomp($addr);
    last if ($addr eq "");
    my $page=webpage_get($addr);
    if ($page) { print $page; } else { print "FAILED\n"; }
}

###############################################################################
sub webpage_get
{
    use IO::Socket;
    my ($url)=@_;

             #           1          2 3      4
    ($url =~ m/^http:\/\/([\w\-\.]+)(:(\d+))?(\/.*)$/) or return(undef);
    my $host=$1;
    my $page=$4;
    my $port=$3; defined($port) or ($port=80);

    my $socket = IO::Socket::INET->new( PeerAddr => $host, PeerPort => $port, Proto => "tcp", Type => SOCK_STREAM )
        or return(undef);

    print $socket "GET ${page} HTTP/1.0\nHost: $host\n\n";
    my $line;
    $line=<$socket>;
    unless ($line =~ m/^HTTP.*\s+200\s+/)
    {
        close ($socket); return(undef);
    }
    while ($line=<$socket>) { last if ($line =~ m/^\r?\n?$/m); }
    my $content="";
    while ($line=<$socket>) { $content=$content.$line; }
    close ($socket);

    return($content);
}