Server.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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> Простой HTTP-сервер.</title></head>
  13. <body>OK.</body></html>"""
  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> Простой HTTP-сервер.</title></head>
  21. <body>Группа 701 Жучков Алексей Витальевич.</body></html>"""
  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. dt = datetime.now().strftime("%Y-%m-%d %I:%M:%S %p")
  28. _ip = self.client_address[0]
  29. _ip = re.sub("([.][0-9]{1,3})", ".x", _ip, count = 2)
  30. http_text = f"<html><head><meta charset='utf-8'>" \
  31. f"<title>Status</title></head>" \
  32. f"<body>Ваш IP:{_ip}<br>" \
  33. f"ФИО: Жучков Алексей Витальевич<br>" \
  34. f"Дата: {dt}<br><br>" \
  35. f"</body></html>"
  36. self.wfile.write(http_text.encode())
  37. except IOError:
  38. self.send_error(400,f"File not found{self.path}")
  39. def main(server_class=HTTPServer,handler_class=HttpGetHandler):
  40. server_address = ('localhost', 8000)
  41. httpd = server_class(server_address, handler_class)
  42. try:
  43. print("Запускаем сервер!")
  44. httpd.serve_forever()
  45. except KeyboardInterrupt:
  46. httpd.server_close()
  47. print("Сервер остановлен!")
  48. if __name__ == '__main__':
  49. main()