import http.server import string from os import curdir, sep import cgi import time PORT_NUMBER = 8080 class myHandler(http.server.BaseHTTPRequestHandler): #Handler GET def do_GET(self): try: self.send_response(200) self.send_header('Content-type','text/html') self.end_headers() self.wfile.write(bytes("Simple-CHAT", "utf-8")) self.wfile.write(bytes("", "utf-8")) with open(curdir + sep + "chat.txt") as f: for line in f: line=str.split(line,'\t') self.wfile.write(bytes("

"+line[0]+":"+line[1]+": "+line[2]+"

", "utf-8")) self.wfile.write(bytes("", "utf-8")) self.wfile.write(bytes("
", "utf-8")) self.wfile.write(bytes("Name:
", "utf-8")) self.wfile.write(bytes("", "utf-8")) self.wfile.write(bytes("", "utf-8")) self.wfile.write(bytes("", "utf-8")) self.wfile.write(bytes("
", "utf-8")) except IOError: self.send_error(404,'File Not Found: %s' % self.path) def do_POST(self): form = cgi.FieldStorage( fp=self.rfile, headers=self.headers, environ={'REQUEST_METHOD':'POST', 'CONTENT_TYPE':self.headers['Content-Type'], }) print ("Your name is: %s" % form["name"].value) self.send_response(200) self.end_headers() self.wfile.write(bytes("

", "utf-8")) self.wfile.write(bytes("Thanks %s !" % form["name"].value, "utf-8")) with open(curdir + sep + "chat.txt", "a") as f: f.write("\n"+time.asctime()+"\t"+form["name"].value+"\t"+form["mes"].value) try: server = http.server.HTTPServer(('', PORT_NUMBER), myHandler) print ("Start chat on " , PORT_NUMBER) server.serve_forever() except KeyboardInterrupt: print ('^C received, chat off') server.socket.close()