Mar-21-2021, 01:57 PM
I am thinking about programming an http server for study tasks. Researching about python modules I identified (socketserver) that establishes the client x server connection in the TCP / IP layer. Using the example below I can obtain the request header:
- Respond to header requests for the client side
- Send the html page as a reply
import socketserver class MyTCPHandler(socketserver.BaseRequestHandler): """ The request handler class for our server. It is instantiated once per connection to the server, and must override the handle() method to implement communication to the client. """ def handle(self): # self.request is the TCP socket connected to the client self.data = self.request.recv(1024).strip() print("{} wrote:".format(self.client_address[0])) print(self.data) # just send back the same data, but upper-cased self.request.sendall(self.data.upper()) if __name__ == "__main__": HOST, PORT = "localhost", 9999 # Create the server, binding to localhost on port 9999 with socketserver.TCPServer((HOST, PORT), MyTCPHandler) as server: # Activate the server; this will keep running until you # interrupt the program with Ctrl-C server.serve_forever()This example works but I need to know how to implement the following features:
- Respond to header requests for the client side
- Send the html page as a reply