diff --git a/1.html b/1.html new file mode 100644 index 0000000..be4b012 --- /dev/null +++ b/1.html @@ -0,0 +1,6 @@ + + + +

This is first file.

+ + \ No newline at end of file diff --git a/2.html b/2.html new file mode 100644 index 0000000..336c4f1 --- /dev/null +++ b/2.html @@ -0,0 +1,6 @@ + + + +

This is second file.

+ + \ No newline at end of file diff --git a/server.py b/server.py index 9ed7429..263f115 100644 --- a/server.py +++ b/server.py @@ -1,31 +1,44 @@ import socket - -sock = socket.socket() - -try: - sock.bind(('', 80)) - print("Using port 80") -except OSError: - sock.bind(('', 8080)) - print("Using port 8080") - -sock.listen(5) - -conn, addr = sock.accept() -print("Connected", addr) - -data = conn.recv(8192) -msg = data.decode() - -print(msg) - -resp = """HTTP/1.1 200 OK -Server: SelfMadeServer v0.0.1 -Content-type: text/html -Connection: close - -Hello, webworld!""" - -conn.send(resp.encode()) - -conn.close() \ No newline at end of file +import datetime + +def printHtml(data_in): + global HtmlVar + try: + path = data_in.split(' ')[1] + print(path) + if path == '/': + with open('C:/Users/OMEN/PycharmProjects/Web_server/1.html', 'r') as file: + HtmlVar = file.read() + else: + with open('C:/Users/OMEN/PycharmProjects/Web_server' + path, 'r') as file: + HtmlVar = file.read() + except IndexError: + with open('C:/Users/OMEN/PycharmProjects/Web_server/1.html', 'r') as file: + HtmlVar = file.read() + time = datetime.datetime.now() + DataOut = f"""HTTP/1.1 200 OK + Date: {time.strftime("%a, %d %b %Y %H:%M:%S")} + Server: SelfMadeServer v0.0.1 + Content-Length: {len(HtmlVar)} + Content-Type: text/html + Connection: close + {HtmlVar}""" + return DataOut + +def serverWork(): + sock = socket.socket() + try: + sock.bind(('', 80)) + except OSError: + sock.bind(('', 8080)) + sock.listen(5) + conn, addr = sock.accept() + print("Connected", addr) + data = conn.recv(8192) + msg = data.decode() + print(msg) + data_out = printHtml(msg) + conn.send(data_out.encode()) + +if __name__ == '__main__': + serverWork()