from socketserver import TCPServer from http.server import SimpleHTTPRequestHandler import sys, socket, optparse options = optparse.OptionParser () options.add_option ("-p", "--port", dest="port", default = 1234, action="store", help="Web server TCP port number") (opts, args) = options.parse_args () port = int (opts.port) class MyHandler (SimpleHTTPRequestHandler): def handle (self): print ("Connection from", self.client_address[0]) stop = False while not stop : try : data = self.request.recv (1024, socket.MSG_DONTWAIT) for line in data.decode('utf-8').split('\n') : print (line) except : stop = True self.request.sendall (b"HTTP/1.1 200 O.K.\n") print ("Done") print () server = TCPServer (("", port), MyHandler) server.socket.setsockopt (socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try : print ("Serving at port", port) server.serve_forever () except KeyboardInterrupt : print ("Control C received, shutting down the web server") finally : server.socket.close () # kate: indent-width 1; show-tabs true; replace-tabs true; remove-trailing-spaces all