Ver código fonte

py_server_add_status_page

Alexey 2 anos atrás
pai
commit
6b40367559
3 arquivos alterados com 17 adições e 2 exclusões
  1. 1 0
      .gitignore
  2. BIN
      otchet.docx
  3. 16 2
      server.py

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+/.idea/

BIN
otchet.docx


+ 16 - 2
server.py

@@ -1,8 +1,9 @@
 from http.server import BaseHTTPRequestHandler, HTTPServer
+import requests
+from datetime import datetime
 
 serverPort = 8000
 
-
 class Server(BaseHTTPRequestHandler):
 
     def do_GET(self):
@@ -19,6 +20,19 @@ class Server(BaseHTTPRequestHandler):
             self.end_headers()
             self.wfile.write("Alexey Shumkov 703".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}")
@@ -26,4 +40,4 @@ try:
     server.serve_forever()
 except KeyboardInterrupt:
     server.server_close()
-    print("Server stopped.")
+    print("Server stopped.")