#!/usr/bin/perl -W # TP proxy HTTP # # Question 1 # # Antoine Miné # 15/05/2007 use IO::Socket::INET; # on utilise l'interface orientée-objet # création de la socket d'écoute $listen = new IO::Socket::INET(LocalPort => '8080', Proto => 'tcp', Listen => 5, ReuseAddr => 1, ) or die "échec de création de la socket d'écoute: $!"; # boucle de traitement des connections while ($client = $listen->accept()) { # lit la requête $req = <$client>; ($url) = $req =~ m!GET (\S*) HTTP/1.?! or die "requête non reconnue: $_"; # lit les en-têtes while ($l = <$client>) { last if $l =~ /^\r\n$/; } # renvoie une réponse d'erreur print $client "HTTP/1.1 403 Forbidden\r\n"; print $client "Connection: close\r\n"; print $client "Content-type: text/html\r\n"; print $client "\r\n"; print $client "Erreur!\r\n"; print $client "

Je n'aime pas $url.\r\n"; close $client; }