From 48d76bad446a93560f3e79b0ab596d85aba7689e Mon Sep 17 00:00:00 2001 From: looking for Date: Wed, 8 Apr 2026 21:23:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- gitea_create_repo.py | 21 +++++++++++++++++++++ gitea_read.py | 12 ++++++++++++ http_requests.py | 4 ++++ http_socket.py | 17 +++++++++++++++++ tcp_client.py | 9 +++++++++ tcp_server.py | 18 ++++++++++++++++++ udp_client.py | 7 +++++++ udp_server.py | 10 ++++++++++ 9 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 gitea_create_repo.py create mode 100644 gitea_read.py create mode 100644 http_requests.py create mode 100644 http_socket.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/.gitignore b/.gitignore index 0949605..3f2999b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .venv/ -.idea/ \ No newline at end of file +.idea/ +.env \ No newline at end of file diff --git a/gitea_create_repo.py b/gitea_create_repo.py new file mode 100644 index 0000000..66f94c3 --- /dev/null +++ b/gitea_create_repo.py @@ -0,0 +1,21 @@ +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" +} + +data = { + "name": "my-lab3-repo", + "description": "Создано через API для лабораторной работы №3", + "private": False +} + +response = requests.post("https://git.vyatsu.ru/api/v1/user/repos", headers=headers, json=data) +print(f"Статус: {response.status_code}") +print(response.json()) \ No newline at end of file diff --git a/gitea_read.py b/gitea_read.py new file mode 100644 index 0000000..3a7c2cd --- /dev/null +++ b/gitea_read.py @@ -0,0 +1,12 @@ +import os +import requests +from dotenv import load_dotenv + +load_dotenv() + +TOKEN = os.getenv("GITEA_TOKEN_READ") +headers = {"Authorization": f"token {TOKEN}"} + +response = requests.get("https://git.vyatsu.ru/api/v1/user", headers=headers) +print("Информация о пользователе:") +print(response.json()) \ No newline at end of file diff --git a/http_requests.py b/http_requests.py new file mode 100644 index 0000000..83588ae --- /dev/null +++ b/http_requests.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_socket.py b/http_socket.py new file mode 100644 index 0000000..3dc91b4 --- /dev/null +++ b/http_socket.py @@ -0,0 +1,17 @@ +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\nUser-Agent: python-requests/2.33.1\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nConnection: keep-alive\r\n\r\n" + +client.sendall(request.encode()) +response = b"" +while True: + c = client.recv(4096) + if not c: + break + response += c + +print(response.decode()) +client.close() \ No newline at end of file diff --git a/tcp_client.py b/tcp_client.py new file mode 100644 index 0000000..09fc560 --- /dev/null +++ b/tcp_client.py @@ -0,0 +1,9 @@ +import socket + +client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +client.connect(('127.0.0.1', 10000)) +message = input("Введите сообщение: ") +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..9f9842c --- /dev/null +++ b/tcp_server.py @@ -0,0 +1,18 @@ +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 + conn.sendall(data.upper()) + conn.close() + if data.upper() == b'EXIT': + print("Сервер завершает работу") + break \ No newline at end of file diff --git a/udp_client.py b/udp_client.py new file mode 100644 index 0000000..6079171 --- /dev/null +++ b/udp_client.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', 10001)) +data, _ = client.recvfrom(1024) +print(f"Ответ: {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..63f45cd --- /dev/null +++ b/udp_server.py @@ -0,0 +1,10 @@ +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()}") + server.sendto(data.upper(), addr) \ No newline at end of file