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 = f"<!doctype html><html><head><meta charset=utf-8>" \
  21. f"<title>http-server/info</title></head>" \
  22. f"<body>Ваш адресс {res.text}.<br>" \
  23. f"<body>Кондратюк Андрей Андреевич<br>" \
  24. f"Время на сервере {str(datetime.datetime.now())}" \
  25. f"<p>гр 701(3)</p>" \
  26. f"</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()