From 2a7895f98e0d526865bc31bef4bcd415e51c98ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=B0=D1=81=D0=B0=D1=80=D0=B3=D0=B8=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=9A=D1=81=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=A0=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BD=D0=B0?= Date: Fri, 2 May 2025 17:23:36 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=BD=D0=B5=D1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ gitea-read.py | 18 ++++++++++++++++++ gitwrite.py | 23 +++++++++++++++++++++++ http-req.py | 4 ++++ http-vyt.py | 9 +++++++++ tcp-clin.py | 9 +++++++++ tcp-serv.py | 17 +++++++++++++++++ udp-clin.py | 7 +++++++ udp-serv.py | 13 +++++++++++++ vyt-req.py | 19 +++++++++++++++++++ 10 files changed, 121 insertions(+) create mode 100644 gitea-read.py create mode 100644 gitwrite.py create mode 100644 http-req.py create mode 100644 http-vyt.py create mode 100644 tcp-clin.py create mode 100644 tcp-serv.py create mode 100644 udp-clin.py create mode 100644 udp-serv.py create mode 100644 vyt-req.py diff --git a/.gitignore b/.gitignore index e69de29..71b98ca 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +.venv/ +.env \ No newline at end of file diff --git a/gitea-read.py b/gitea-read.py new file mode 100644 index 0000000..4690739 --- /dev/null +++ b/gitea-read.py @@ -0,0 +1,18 @@ +import os +import requests +from dotenv import load_dotenv + +# Загрузка переменных окружения из .env +load_dotenv() + +# Получение токена из переменной окружения +TOKEN = os.getenv("GITEA_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/gitwrite.py b/gitwrite.py new file mode 100644 index 0000000..c076081 --- /dev/null +++ b/gitwrite.py @@ -0,0 +1,23 @@ +import os +import requests +from dotenv import load_dotenv + +load_dotenv() + +TOKEN = os.getenv("GITEA_TOKEN_WRITE") +headers = { + "Authorization": f"token {TOKEN}", + "Content-Type": "application/json" +} + +repo_data = { + "name": "basargina", + "description": "создано", + "private": False, + "auto_init": True +} + +response = requests.post("https://git.vyatsu.ru/api/v1/user/repos", headers=headers, json=repo_data) + +print(response.status_code) +print(response.json()) \ No newline at end of file diff --git a/http-req.py b/http-req.py new file mode 100644 index 0000000..83588ae --- /dev/null +++ b/http-req.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/http-vyt.py b/http-vyt.py new file mode 100644 index 0000000..4c1fa7e --- /dev/null +++ b/http-vyt.py @@ -0,0 +1,9 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect(('vyatsu.ru', 80)) +request = "GET / HTTP/1.1\r\nHost: vyatsu.ru\r\n\r\n" +client.sendall(request.encode()) +response = client.recv(4096) +print(response.decode()) +client.close() \ No newline at end of file diff --git a/tcp-clin.py b/tcp-clin.py new file mode 100644 index 0000000..79af014 --- /dev/null +++ b/tcp-clin.py @@ -0,0 +1,9 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect(('127.0.0.1', 10000)) +client.sendall(b'hello server') +data = client.recv(1024) +client.sendall(b'EXIT') +print(f"Ответ от сервера: {data.decode()}") +client.close() \ No newline at end of file diff --git a/tcp-serv.py b/tcp-serv.py new file mode 100644 index 0000000..745c37e --- /dev/null +++ b/tcp-serv.py @@ -0,0 +1,17 @@ +import socket + +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +server.bind(("0.0.0.0", 10000)) +server.listen(1) +print("TCP сервер запущен") + +while True: + conn, addr = server.accept() + print(f"Подключение от {addr}") + data = conn.recv(1024) + if not data: + break + conn.sendall(data.upper()) + conn.close() + if data.upper() == b'EXIT': + break \ No newline at end of file diff --git a/udp-clin.py b/udp-clin.py new file mode 100644 index 0000000..32806d6 --- /dev/null +++ b/udp-clin.py @@ -0,0 +1,7 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +client.sendto(b'hello server', ('127.0.0.1', 20019)) +data, _ = client.recvfrom(1024) +print(f"Ответ от сервера: {data.decode()}") +client.close() \ No newline at end of file diff --git a/udp-serv.py b/udp-serv.py new file mode 100644 index 0000000..b5ae034 --- /dev/null +++ b/udp-serv.py @@ -0,0 +1,13 @@ +import socket + +server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +server.bind(('0.0.0.0', 20019)) +print("UDP сервер запущен") + +while True: + data, addr = server.recvfrom(1024) + decoded = data.decode() + print(f"Сообщение от {addr}: {decoded}") + + response = ' '.join(decoded.upper()) # Добавляем пробелы между символами + server.sendto(response.encode(), addr) diff --git a/vyt-req.py b/vyt-req.py new file mode 100644 index 0000000..5f2110d --- /dev/null +++ b/vyt-req.py @@ -0,0 +1,19 @@ +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.31.0\r\n" + "Accept-Encoding: gzip, deflate, br\r\n" + "Accept: */*\r\n" + "Connection: keep-alive\r\n" + "\r\n" +) + +client.sendall(request.encode()) +response = client.recv(4096) +print(response.decode(errors="replace")) +client.close() \ No newline at end of file