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
