I did it a while ago for Python2.7
from BaseHTTPServer import BaseHTTPRequestHandler class GetHandler(BaseHTTPRequestHandler): def do_HEAD(self): self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() def do_GET(self): x = self.wfile.write self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() # <--- HTML starts here ---> x("<html>") # <--- HEAD starts here ---> x("<head>") x("<title>Title goes here!</title>") x("</head>") # <--- HEAD ends here ---> # <--- BODY starts here ---> x("<body>") x("<p>This is a test.</p>") x("</body>") # <--- BODY ends here ---> x("</html>") # <--- HTML ends here ---> if __name__ == '__main__': from BaseHTTPServer import HTTPServer server = HTTPServer(('localhost', 777), GetHandler) print 'Starting server, use <Ctrl + F2> to stop' server.serve_forever()
So in Python 3 you just need to change the import
from http.server import BaseHTTPRequestHandler class GetHandler(BaseHTTPRequestHandler): def do_HEAD(self): self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() def do_GET(self): x = self.wfile.write self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() # <--- HTML starts here ---> x("<html>") # <--- HEAD starts here ---> x("<head>") x("<title>Title goes here!</title>") x("</head>") # <--- HEAD ends here ---> # <--- BODY starts here ---> x("<body>") x("<p>This is a test.</p>") x("</body>") # <--- BODY ends here ---> x("</html>") # <--- HTML ends here ---> if __name__ == '__main__': from http.server import HTTPServer server = HTTPServer(('localhost', 777), GetHandler) print('Starting server, use <Ctrl + F2> to stop') server.serve_forever()
I don't know right now if the print function in python 3
print("")
or
print ""
but I think it was with ()
Edit: this is print ()
Tom-oliver heidel
source share