T4 handson


from http.server import

BaseHTTPRequestHandler, HTTPServer

class SimpleHTTPRequestHandler(BaseHTTPRe questHandler):

def do_GET(self):

if self.path == '/get':

self.send_response(200)

self.send_header('Content-type', 'text/

html')

self.end_headers()

self.wfile.write(b"GET request received")

elif self.path == '/redirect':

self.send_response(302)

self.send_header('Location',

'http://www.example.com')

self.end_headers()

elif self.path == '/divide_by_zero':

result = 1/0

else:

self.send_response(404)

self.end_headers()

def do_POST(self):

content_length =

int(self.headers['Content-Length'])

post_data = self.rfile.read(content_length)

if self.path == '/post':

if post_data.decode('utf-8') ==

{"username":"user", "password": "pass"}":

self.send_response(200)

self.send_header('Content-type',

'application/json')

self.end_headers()

self.wfile.write(b"POST request received

with correct credentials")

else:

self.send_response(401)

self.send_header('Content-type',

'application/json')

self.end_headers()

self.wfile.write(b"Unauthorized")

else:

self.send_response(404)

self.end_headers()

def run(server_class=HTTPServer,

handler_class=SimpleHTTPRequestHandler, port=5000):

server_address = (", port)

httpd = server_class(server_address,

handler_class)

print("Starting server on port {}...".format(port))

httpd.serve_forever()

if_name_ == "main'

run()