#!/usr/bin/perl -w
# proxy_server.pl - Beispiel f. Socket Komm.
#
# Aufruf: proxy_server.pl [port]
# Wartet auf Verbindungen auf dem angegebenen Port [80] und 'besorgt'
# die gewuenschten Daten vom Zielserver (falls moeglich).
# Simuliert sehr einfachen Proxy-Tunnel.
my $VERSION = '0.01';
my $localhost = '127.0.0.1'
use IO::Socket;
sub response;
sub GET;
sub error_response;
sub ok_response;
$port = shift || 80;
$sock = IO::Socket::INET->new(
LocalHost => $localhost,
LocalPort => $port,
Proto => 'tcp',
Listen => 5,
Reuse => 1,
) or die $!;
$sock->autoflush();
while ($new_sock = $sock->accept()) {
$new_sock->autoflush();
print "Request received...\n";
while ($request = <$new_sock>) {
print STDERR "$request";
$request =~ /^quit/ && last;
$request =~ /^\s+$/ && last;
$request =~ /^\.\s+$/ && last;
}
close $new_sock;
}
close $sock;