From db071b512372f9af2e908277ceee665d8ba6e2d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9A=D0=BE?= =?UTF-8?q?=D1=80=D0=B7=D1=8E=D0=BA=D0=BE=D0=B2?= Date: Tue, 13 May 2025 12:36:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=D1=8B=20TCP?= =?UTF-8?q?-=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0=20=D0=B8=20TCP-?= =?UTF-8?q?=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=B0;=20UPD-=D1=81=D0=B5?= =?UTF-8?q?=D1=80=D0=B2=D0=B5=D1=80=D0=B0=20=D0=B8=20UDP-=D0=BA=D0=BB?= =?UTF-8?q?=D0=B8=D0=B5=D0=BD=D1=82=D0=B0;=20TCP-=D0=BA=D0=BB=D0=B8=D0=B5?= =?UTF-8?q?=D0=BD=D1=82,=20=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B9=20?= =?UTF-8?q?=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=B0=D0=B2=D0=BB=D0=B8=D0=B2?= =?UTF-8?q?=D0=B0=D0=B5=D1=82=20=D1=81=D0=BE=D0=B5=D0=B4=D0=B8=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=20vyatsu.ru=20=D0=BF=D0=BE=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=80=D1=82=D1=83=2080=20=D0=B8=20=D0=BE=D1=82=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5=D1=82=20HTTP-=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=81;=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B,=20?= =?UTF-8?q?=D1=81=D0=B2=D1=8F=D0=B7=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=20=D1=81?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BE=D0=B9=20API=20Gitea.=20?= =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20.gitig?= =?UTF-8?q?nore,=20README.md,=20.env?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + HTTP.py | 9 +++++++++ HTTPrequest.py | 4 ++++ TCPclient.py | 16 ++++++++++++++++ TCPserver.py | 28 ++++++++++++++++++++++++++++ UDPclient.py | 7 +++++++ UDPserver.py | 11 +++++++++++ createRepo.py | 16 ++++++++++++++++ requestAPIgitea.py | 6 ++++++ 9 files changed, 98 insertions(+) create mode 100644 .gitignore create mode 100644 HTTP.py create mode 100644 HTTPrequest.py create mode 100644 TCPclient.py create mode 100644 TCPserver.py create mode 100644 UDPclient.py create mode 100644 UDPserver.py create mode 100644 createRepo.py create mode 100644 requestAPIgitea.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2eea525 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.env \ No newline at end of file diff --git a/HTTP.py b/HTTP.py new file mode 100644 index 0000000..4c1fa7e --- /dev/null +++ b/HTTP.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/HTTPrequest.py b/HTTPrequest.py new file mode 100644 index 0000000..83588ae --- /dev/null +++ b/HTTPrequest.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/TCPclient.py b/TCPclient.py new file mode 100644 index 0000000..a57d5da --- /dev/null +++ b/TCPclient.py @@ -0,0 +1,16 @@ +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) +print(f"Ответ от сервера: {data.decode()}") + +# Отправляем сообщение для завершения работы сервера +client.sendall(b'EXIT') +data = client.recv(1024) +print(f"Ответ от сервера: {data.decode()}") + +client.close() \ No newline at end of file diff --git a/TCPserver.py b/TCPserver.py new file mode 100644 index 0000000..f5564a6 --- /dev/null +++ b/TCPserver.py @@ -0,0 +1,28 @@ +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 + + # Проверяем на специальное сообщение для завершения работы + if data.upper() == b'EXIT': + print("Получено сообщение для завершения работы сервера.") + conn.sendall(b'Server is shutting down.') + conn.close() + break # Выходим из цикла и завершаем работу сервера + + conn.sendall(data.upper()) + conn.close() + +# Закрываем сервер после выхода из цикла +server.close() +print("Сервер завершил работу.") \ No newline at end of file diff --git a/UDPclient.py b/UDPclient.py new file mode 100644 index 0000000..ac46d9c --- /dev/null +++ b/UDPclient.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', 10000)) +data, _ = client.recvfrom(1024) +print(f"Ответ от сервера: {data.decode()}") +client.close() \ No newline at end of file diff --git a/UDPserver.py b/UDPserver.py new file mode 100644 index 0000000..905a022 --- /dev/null +++ b/UDPserver.py @@ -0,0 +1,11 @@ +import socket +server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +server.bind(('0.0.0.0', 10000)) # Измененный порт для сервера +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 diff --git a/createRepo.py b/createRepo.py new file mode 100644 index 0000000..38802b9 --- /dev/null +++ b/createRepo.py @@ -0,0 +1,16 @@ +import requests + +TOKEN = "357a9e69997259eace0e9a3167550a114d3587b9" +headers = {"Authorization": f"token {TOKEN}"} + +# Параметры для нового репозитория +data = { + "name": "my-new-repo", + "private": False, + "description": "Мой новый репозиторий" +} + +response = requests.post("https://git.vyatsu.ru/api/v1/user/repos", headers=headers, json=data) + +print(response.status_code) +print(response.json()) \ No newline at end of file diff --git a/requestAPIgitea.py b/requestAPIgitea.py new file mode 100644 index 0000000..6686a57 --- /dev/null +++ b/requestAPIgitea.py @@ -0,0 +1,6 @@ +import requests + +TOKEN = "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