GitUser 2 anni fa
parent
commit
41353542c4
1 ha cambiato i file con 40 aggiunte e 45 eliminazioni
  1. 40 45
      main.py

+ 40 - 45
main.py

@@ -1,48 +1,43 @@
-from http.server import HTTPServer, BaseHTTPRequestHandler
+from http.server import BaseHTTPRequestHandler, HTTPServer
+import requests
+from datetime import datetime
 
+serverPort = 8000
 
-class HttpGetHandler(BaseHTTPRequestHandler):
-    def do_GET(self):
-        try:
-            if self.path.endswith("/"):
-                self.send_response(200)
-
-                self.send_header("Content-type", "text/html")
-                self.end_headers()
-
-                http_text = """ <html><head><meta charset= 'utf-8'>
-                <title>Простой HTTP-сервер.</title></head>
-                <body>Главная страница.</body></html>"""
-
-                self.wfile.write(http_text.encode())
-
-            if self.path.endswith("/info"):
-                self.send_response(200)
-
-                self.send_header("Content-type", "text/html")
-                self.end_headers()
-
-                http_text = """ <html><head><meta charset= 'utf-8'>
-                <title>Информация.</title></head></html>
-                <body>Комаров Е.Г 701гр.</body></html>"""
+class Server(BaseHTTPRequestHandler):
 
-                self.wfile.write(http_text.encode())
-
-        except IOError:
-            self.send_error(400, f"File not found{self.path}")
-
-
-def main(server_class=HTTPServer, handler_class=HttpGetHandler):
-    server_address = ("localhost", 8000)
-    httpd = server_class(server_address, handler_class)
-    try:
-        print("Запускаем сервер!")
-        httpd.serve_forever()
-
-    except KeyboardInterrupt:
-        httpd.server_close()
-        print("Сервер остановлен!")
-
-
-if __name__ == '__main__':
-    main()
+    def do_GET(self):
+        if self.path.endswith("/"):
+            self.send_response(200)
+            self.send_header("Content-type", "text/html")
+            self.end_headers()
+            self.wfile.write("200_OK".encode("utf-8"))
+
+
+        if self.path.endswith("/info"):
+            self.send_response(200)
+            self.send_header("Content-type", "text/html")
+            self.end_headers()
+            self.wfile.write("Eugene Komarov 701".encode("utf-8"))
+
+        if self.path.endswith("/status"):
+            self.send_response(200)
+            self.send_header("Content-type", "text/html")
+            self.end_headers()
+            get = requests.get('https://api.ipify.org/')
+
+            html = f"<!doctype html><html><head><meta charset=utf-8><title>HTTP server</title></head><body>"\
+                    f" Your ip address: {get.text}<br>"\
+                    f"Time on server: {datetime.now()}"\
+                    f"</body></html>"
+
+            self.wfile.write(html.encode(encoding='utf-8'))
+
+
+server = HTTPServer(("", serverPort), Server)
+print(f"Server started at http://localhost:{serverPort}")
+try:
+    server.serve_forever()
+except KeyboardInterrupt:
+    server.server_close()
+    print("Server stopped.")