37 lines
991 B
Python
37 lines
991 B
Python
import socket
|
|
|
|
def generate_html_response(count):
|
|
html_content = """
|
|
<html>
|
|
<head>
|
|
<title>Страница счетчика</title>
|
|
</head>
|
|
<body>
|
|
<h1>Счетчик: {}</h1>
|
|
</body>
|
|
</html>
|
|
""".format(count)
|
|
return html_content
|
|
|
|
serv_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
serv_sock.bind(('0.0.0.0', 12345))
|
|
serv_sock.listen(5)
|
|
|
|
count = 0
|
|
|
|
while True:
|
|
client_sock, client_addr = serv_sock.accept()
|
|
data = client_sock.recv(1024)
|
|
request = data.decode()
|
|
print(request)
|
|
|
|
if "GET /count" in request:
|
|
count += 1
|
|
html_response = generate_html_response(count)
|
|
http_response = "HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=utf-8\r\n" + html_response
|
|
client_sock.sendall(http_response.encode())
|
|
else:
|
|
http_response = "HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=utf-8\r\n "
|
|
client_sock.sendall(http_response.encode())
|
|
|
|
client_sock.close() |