Все задания успешно выполнены

This commit is contained in:
Григорий Горочный 2025-05-13 21:21:45 +03:00
parent f47cff86c1
commit 16a47bab6a
14 changed files with 216 additions and 0 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
venv
.env

14
Reqtoken.py Normal file
View File

@ -0,0 +1,14 @@
import requests
import os
from dotenv import load_dotenv
load_dotenv() # Загружаем переменные окружения из .env
TOKEN = os.getenv("GITEA_TOKEN")
if not TOKEN:
raise Exception("Токен не найден в переменных окружения!")
headers = {"Authorization": f"token {TOKEN}"}
response = requests.get("https://git.vyatsu.ru/api/v1/user", headers=headers)
print(response.json())

10
TCP2client.py Normal file
View File

@ -0,0 +1,10 @@
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 11000))
message = input("Введите сообщение: ")
client.sendall(message.encode())
data = client.recv(1024)
print(f"Ответ от сервера: {data.decode()}")
client.close()

24
TCP2server.py Normal file
View File

@ -0,0 +1,24 @@
import socket
def process_text(text):
return f"<<< {text.upper()} >>>"
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("0.0.0.0", 11000))
server.listen(1)
print("TCP сервер запущен на порту 11000")
while True:
conn, addr = server.accept()
print(f"Подключение от {addr}")
data = conn.recv(1024)
if not data:
break
text = data.decode()
response = process_text(text)
print(f"Получено: {text} | Ответ: {response}")
conn.sendall(response.encode())
conn.close()
if text.upper() == 'EXIT':
print("Сервер завершает работу.")
break

27
TCPlikereq.py Normal file
View File

@ -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.31.0\r\n"
"Accept-Encoding: gzip, deflate\r\n"
"Accept: */*\r\n"
"Connection: close\r\n"
"\r\n"
)
client.sendall(request.encode())
response = b""
while True:
part = client.recv(4096)
if not part:
break
response += part
print(response.decode(errors='ignore')) # 'ignore' — на случай gzip/некорректных символов
client.close()

4
TCPreqvyatsu.py Normal file
View File

@ -0,0 +1,4 @@
import requests
response = requests.get("http://vyatsu.ru")
print(response.text[:500])

9
TCPvyatsu.py Normal file
View File

@ -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()

11
UDP2client.py Normal file
View File

@ -0,0 +1,11 @@
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
message = input("Введите сообщение: ")
client.sendto(message.encode(), ('127.0.0.1', 11001))
data, _ = client.recvfrom(1024)
print(f"Ответ от сервера: {data.decode()}")
client.close()

20
UDP2server.py Normal file
View File

@ -0,0 +1,20 @@
import socket
def process_text(text):
return f"[[[{text.lower()}]]]"
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server.bind(('0.0.0.0', 11001))
print("UDP сервер запущен на порту 11001")
while True:
data, addr = server.recvfrom(1024)
text = data.decode()
print(f"Сообщение от {addr}: {text}")
response = process_text(text)
server.sendto(response.encode(), addr)
if text.upper() == 'EXIT':
print("Сервер завершает работу.")
break
server.close()

12
client.py Normal file
View File

@ -0,0 +1,12 @@
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()

23
createrepo.py Normal file
View File

@ -0,0 +1,23 @@
import requests
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv("GITEA_WRITE_TOKEN")
if not TOKEN:
raise Exception("Нет токена в .env")
headers = {"Authorization": f"token {TOKEN}"}
data = {
"name": "exd3week",
"description": "Публичный репозиторий через API",
"private": False,
"auto_init": True
}
response = requests.post("https://git.vyatsu.ru/api/v1/user/repos", json=data, headers=headers)
print("Status code:", response.status_code)
print("Text:", response.text)

28
server.py Normal file
View File

@ -0,0 +1,28 @@
import socket
def mirror_text(text):
return text[::-1]
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
text = data.decode()
mirrored = mirror_text(text)
print(f"Получено: {text} | Отправляем: {mirrored}")
conn.sendall(mirrored.encode())
conn.close()
if text.upper() == 'EXIT':
print("Сервер завершает работу.")
break

11
updclient.py Normal file
View File

@ -0,0 +1,11 @@
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
message = input("Введите строку для отправки на сервер: ")
client.sendto(message.encode(), ('127.0.0.1', 10001))
data, _ = client.recvfrom(1024)
print(f"Ответ от сервера: {data.decode()}")
client.close()

22
updserver.py Normal file
View File

@ -0,0 +1,22 @@
import socket
def mirror_text(text):
return text[::-1]
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)
text = data.decode()
print(f"Сообщение от {addr}: {text}")
mirrored = mirror_text(text)
server.sendto(mirrored.encode(), addr)
if text.upper() == 'EXIT':
print("Сервер завершает работу.")
break
server.close()