perl:single_document_web_server
This little script acts as a web server, but it serves only one document no matter what the requested URL was: the document embedded in the script itself. This is useful to throw on a machine in a lab environment to identify who owns it and what it's for.
#!/usr/bin/perl use IO::Socket; use strict; # single-document web server # by Tyler Bletsch my $listenPort = 80; my $document = join('',<DATA>); my $sockListen = new IO::Socket::INET (LocalPort => $listenPort, Proto => 'tcp', Listen => 10, Reuse => 1); die "Could not create socket: $!\n" unless $sockListen; #print "Listening on port $listenPort.\n"; while (1) { #print "Waiting to accept on port $listenPort...\n"; my $sockClient = $sockListen->accept(); # Get next client scalar <$sockClient>; # humor the client; read one line of request before responding. print $sockClient "HTTP/1.0 200 Okay, pal\n"; print $sockClient "Content-type: text/html\n\n"; print $sockClient $document; close $sockClient; } __DATA__ <html><body> Your document goes here! </body></html>
perl/single_document_web_server.txt · Last modified: 2009/08/13 09:56 by tkbletsc