lab1.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from http.server import HTTPServer, BaseHTTPRequestHandler
  2. from datetime import datetime
  3. import re
  4. class HttpGetHandler(BaseHTTPRequestHandler):
  5. def do_GET(self):
  6. try:
  7. if self.path.endswith("/"):
  8. self.send_response(200)
  9. self.send_header("Content-type", "text/html")
  10. self.end_headers()
  11. http_text = """<html><head><meta charset="utf-8">
  12. <title>Главная</title></head>
  13. <body>Главная страница<br><br>"""
  14. self.wfile.write(http_text.encode())
  15. if self.path.endswith("/Info"):
  16. self.send_response(200)
  17. self.send_header("Content-type", "text/html")
  18. self.end_headers()
  19. http_text = """<html><head><meta charset="utf-8">
  20. <title>Информация</title></head>
  21. <body>Педус Даниил Витальевич 701(3)<br><br>"""
  22. self.wfile.write(http_text.encode())
  23. if self.path.endswith("/Status"):
  24. self.send_response(200)
  25. self.send_header("Content-type", "text/html")
  26. self.end_headers()
  27. data = datetime.now().strftime("%Y-%m-%d %I:%M:%S %p")
  28. address = self.client_address[0]
  29. address = re.sub("([.][0-9]{1,3})", ".x", address, count = 2)
  30. http_text = f"<html><head><meta charset='utf-8'>" \
  31. f"<title>Статус</title></head>" \
  32. f"<body>Ваш IP:{address}<br>" \
  33. f"ФИО: Педус Даниил Витальевич<br>" \
  34. f"Дата: {data}<br><br>"
  35. self.wfile.write(http_text.encode())
  36. except IOError:
  37. self.send_error(400,f"File not found{self.path}")
  38. def main(server_class=HTTPServer,handler_class=HttpGetHandler):
  39. server_address = ('localhost',8000)
  40. httpd=server_class(server_address,handler_class)
  41. try:
  42. print("Запускаем сервер!")
  43. httpd.serve_forever()
  44. except KeyboardInterrupt:
  45. httpd.server.close()
  46. print("Сервер остановлен!")
  47. if __name__=='__main__':
  48. main()