from http.server import HTTPServer, BaseHTTPRequestHandler
import requests
import re
from datetime import datetime
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 = """
Simple HTTP Server
Ok
Info
Status"""
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 = """
Info
Info
Kapitanyuk Alexey Konstantinovich
gr-701(3)
Ok
Status"""
self.wfile.write(http_text.encode())
if self.path.endswith("/Status"):
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
pattern = r'\d{2,}\.\d{2,}\.\d{2,}\.\d{2,}'
ip = re.search(pattern, html).group()
dt = datetime.now().strftime("%Y-%m-%d %I:%M:%S %p")
http_text = f"Status" \
f"FIO: Kapitanyuk Alexey Konstantinovich
" \
f"Date and time: {dt}
" \
f"Ip-address: {ip}
" \
f"Ok
" \
f"Info"
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("Start server")
httpd.serve_forever()
except KeyboardInterrupt:
httpd.server_close()
print("Kill server")
if __name__ == '__main__':
main()