main.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from http.server import HTTPServer, BaseHTTPRequestHandler
  2. import requests
  3. import datetime
  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>Это главная страница.</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. res = requests.get('https://api.ipify.org/')
  20. http_text = """<!doctype html><html><head><meta charset="utf-8">
  21. <title>http-server/info</title></head>
  22. <body>Ваш адресс {get.text}.<br>
  23. <body>Кондратюк Андрей Андреевич<br>
  24. Время на сервере {str(datetime.datetime.now())}
  25. <p>гр 701(3)</p>
  26. </body></html>"""
  27. self.wfile.write(http_text.encode(encoding='utf-8'))
  28. except IOError:
  29. self.send_error(400, f"File not found{self.path}")
  30. def main(server_class=HTTPServer, handler_class=HttpGetHandler):
  31. server_address = ('localhost', 8000)
  32. httpd = server_class(server_address, handler_class)
  33. try:
  34. print("Запускаем сервер!")
  35. httpd.serve_forever()
  36. except KeyboardInterrupt:
  37. httpd.server_close()
  38. print("Сервер остановлен!")
  39. if __name__ == '__main__':
  40. main()