From 2fb1064c9e9f938f81315c01b1eb963bd9653a7b Mon Sep 17 00:00:00 2001 From: stud203992 Date: Tue, 28 Apr 2026 21:39:28 +0300 Subject: [PATCH] all code --- gitea_api_read.py | 10 ++++++++++ gitea_api_write.py | 24 ++++++++++++++++++++++++ request_client.py | 4 ++++ socket_client.py | 27 +++++++++++++++++++++++++++ tcp_client.py | 12 ++++++++++++ tcp_server.py | 25 +++++++++++++++++++++++++ udp_client.py | 11 +++++++++++ udp_server.py | 12 ++++++++++++ 8 files changed, 125 insertions(+) create mode 100644 gitea_api_read.py create mode 100644 gitea_api_write.py create mode 100644 request_client.py create mode 100644 socket_client.py create mode 100644 tcp_client.py create mode 100644 tcp_server.py create mode 100644 udp_client.py create mode 100644 udp_server.py diff --git a/gitea_api_read.py b/gitea_api_read.py new file mode 100644 index 0000000..b340bcf --- /dev/null +++ b/gitea_api_read.py @@ -0,0 +1,10 @@ +import requests +import os +from dotenv import load_dotenv + +load_dotenv() +TOKEN = os.getenv("GITEA_READ_TOKEN") +headers = {"Authorization": f"token {TOKEN}"} + +response = requests.get("https://git.vyatsu.ru/api/v1/user", headers=headers) +print(response.json()) \ No newline at end of file diff --git a/gitea_api_write.py b/gitea_api_write.py new file mode 100644 index 0000000..cb6c8b7 --- /dev/null +++ b/gitea_api_write.py @@ -0,0 +1,24 @@ +import requests +import os +from dotenv import load_dotenv + +load_dotenv() + +TOKEN = os.getenv("GITEA_WRITE_TOKEN") +headers = { + "Authorization": f"token {TOKEN}", + "Content-Type": "application/json" +} + +repo_data = { + "name": "my-test-repo", + "description": "Создан через API", + "private": False +} + +response = requests.post("https://git.vyatsu.ru/api/v1/user/repos", + json=repo_data, + headers=headers) + +print(f"Статус: {response.status_code}") +print(response.json()) \ No newline at end of file diff --git a/request_client.py b/request_client.py new file mode 100644 index 0000000..83588ae --- /dev/null +++ b/request_client.py @@ -0,0 +1,4 @@ +import requests + +response = requests.get("http://vyatsu.ru") +print(response.text[:500]) \ No newline at end of file diff --git a/socket_client.py b/socket_client.py new file mode 100644 index 0000000..f2389b5 --- /dev/null +++ b/socket_client.py @@ -0,0 +1,27 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect(('vyatsu.ru', 80)) + +request = ("GET / HTTP/1.1\r\n" + "Host: vyatsu.ru\r\n" + "User-Agent: python-requests/2.33.1\r\n" + "Accept-Encoding: gzip, deflate, zstd\r\n" + "Accept: */*\r\n" + "Connection: keep-alive\r\n" + "\r\n") + +client.sendall(request.encode()) + +full_response = b"" +while True: + try: + chunk = client.recv(4096) + if not chunk: + break + full_response += chunk + except socket.timeout: + break + +print(full_response.decode('utf-8', errors='replace')) +client.close() \ No newline at end of file diff --git a/tcp_client.py b/tcp_client.py new file mode 100644 index 0000000..82252de --- /dev/null +++ b/tcp_client.py @@ -0,0 +1,12 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect(('127.0.0.1', 10000)) + +message = input("Введите сообщение для сервера (или 'EXIT' для остановки сервера): ") +client.sendall(message.encode()) + +data = client.recv(1024) +print(f"Ответ от сервера: {data.decode()}") + +client.close() \ No newline at end of file diff --git a/tcp_server.py b/tcp_server.py new file mode 100644 index 0000000..0d20c97 --- /dev/null +++ b/tcp_server.py @@ -0,0 +1,25 @@ +import socket + +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +server.bind(("0.0.0.0", 10000)) +server.listen(1) +print("TCP сервер запущен на порту 10000") + +while True: + conn, addr = server.accept() + print(f"Подключение от {addr}") + + data = conn.recv(1024) + if not data: + break + + modified_data = data.upper() + conn.sendall(modified_data) + + conn.close() + + if data.upper() == b'EXIT': + print("Получена команда EXIT, сервер завершает работу") + break + +server.close() \ No newline at end of file diff --git a/udp_client.py b/udp_client.py new file mode 100644 index 0000000..bb64bf7 --- /dev/null +++ b/udp_client.py @@ -0,0 +1,11 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + +message = input("Введите сообщение для UDP сервера: ") +client.sendto(message.encode(), ('127.0.0.1', 10001)) + +data, _ = client.recvfrom(1024) +print(f"Ответ от UDP сервера: {data.decode()}") + +client.close() \ No newline at end of file diff --git a/udp_server.py b/udp_server.py new file mode 100644 index 0000000..bc5e978 --- /dev/null +++ b/udp_server.py @@ -0,0 +1,12 @@ +import socket + +server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +server.bind(('0.0.0.0', 10001)) +print("UDP сервер запущен на порту 10001") + +while True: + data, addr = server.recvfrom(1024) + print(f"Сообщение от {addr}: {data.decode()}") + + modified_data = data.lower() + server.sendto(modified_data, addr) \ No newline at end of file