main.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import datetime
  2. from http.server import HTTPServer, BaseHTTPRequestHandler
  3. # asd
  4. import requests
  5. class HttpGethandler(BaseHTTPRequestHandler):
  6. def do_GET(self):
  7. try:
  8. if self.path.endswith("/OK"):
  9. self.send_response(200)
  10. self.send_header("Content-type", "text/html")
  11. self.end_headers()
  12. html = f"<html><head><meta charset='utf-8'><title>Damned HTTP-Server</title></head>" \
  13. f"<body>It`s Damned HTTP-Server working probably" \
  14. f"</body></html>"
  15. self.wfile.write(html.encode())
  16. if self.path.endswith("/info"):
  17. self.send_response(200)
  18. self.send_header("Content-type", "text/html")
  19. self.end_headers()
  20. html = f"<html><head><meta charset='utf-8'><title>Damned HTTP-Server</title></head>" \
  21. f"<body>Trifonov Adam (701)3" \
  22. f"</body></html>"
  23. self.wfile.write(html.encode())
  24. if self.path.endswith("status"):
  25. self.send_response(200)
  26. self.send_header("Content-type", "text/html")
  27. self.end_headers()
  28. get = requests.get('https://api.ipify.org/')
  29. html = f"<html><head><meta charset='utf-8'><title>Damned HTTP-Server</title></head>" \
  30. f"<body>Your address on the Damned HTTP-Server: {get.text}<br>" \
  31. f"Trifonov A.L. 701(3)<br>" \
  32. f"Time on the Damned HTTP-Server: {str(datetime.datetime.now())}" \
  33. f"</body></html>"
  34. self.wfile.write(html.encode())
  35. except IOError:
  36. self.send_error(400, f'Damned HTTP-Server not found{self.path}')
  37. def main(server_class=HTTPServer, handler_class=HttpGethandler):
  38. server_address = ('localhost', 8000)
  39. httpd = server_class(server_address, handler_class)
  40. try:
  41. print("Damned HTTP-Server started")
  42. httpd.serve_forever()
  43. except KeyboardInterrupt:
  44. httpd.server_close()
  45. print("Damned HTTP-Server stopped")
  46. if __name__ == '__main__':
  47. main()