#!/usr/bin/perl
use HTTP::Daemon;
use HTTP::Status;
use LWP::UserAgent;
our $UA;
our $DAEMON = HTTP::Daemon->new(LocalPort => 8080) || die $!;
sub term {
my $signame=shift;
print STDERR "Signal $signame received. Terminating.\n";
exit(0);
}
$SIG{INT} = \&term;
$SIG{BREAK} = \&term;
print STDERR "Contact proxy at: <URL:", $DAEMON->url, ">, press ^C to terminate\n";
while (my ($c, $peeraddr) = $DAEMON->accept) {
my ($rport, $raddr) = sockaddr_in($peeraddr);
print STDOUT 'From: ',inet_ntoa($raddr),":$rport\n";
while (my $r = $c->get_request){
print STDOUT $r->as_string,"\n";
unless ($UA){
$UA= LWP::UserAgent->new(
'agent'=>'ProxyAgent (Mozilla 9.0; compatible)',
'timeout' => 20,
);
$UA->env_proxy;
}
$c->send_response($UA->request($r));
}
$c->close;
undef($c);
}
=1=
THE END |