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

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
View File
@@ -1 +1,2 @@
venv venv
.env
+14
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
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
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
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
View File
@@ -0,0 +1,4 @@
import requests
response = requests.get("http://vyatsu.ru")
print(response.text[:500])
+9
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
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
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
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
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
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
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
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()