v.3
This commit is contained in:
parent
412ae04909
commit
c10129a5a6
45
main.py
45
main.py
@ -1,37 +1,18 @@
|
||||
import socket
|
||||
from fastapi import FastAPI
|
||||
|
||||
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)
|
||||
app = FastAPI()
|
||||
|
||||
count = 0
|
||||
|
||||
while True:
|
||||
client_sock, client_addr = serv_sock.accept()
|
||||
data = client_sock.recv(1024)
|
||||
request = data.decode()
|
||||
print(request)
|
||||
@app.get("/count")
|
||||
async def get_count():
|
||||
global count
|
||||
count += 1
|
||||
return {"count": count}
|
||||
|
||||
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()
|
||||
@app.get("/")
|
||||
async def root():
|
||||
return {"message": "Hello World"}
|
||||
if __name__ == "__main__":
|
||||
import uvicorn
|
||||
uvicorn.run(app, host="0.0.0.0", port=12345)
|
||||
|
Loading…
Reference in New Issue
Block a user