Реализация работы с API Gitea

This commit is contained in:
Алексей Никитин 2025-05-15 17:41:55 +03:00
parent 52289bca1f
commit bf594787d3
9 changed files with 160 additions and 0 deletions

0
.env Normal file
View File

22
gitea_api.py Normal file
View File

@ -0,0 +1,22 @@
import requests
import os
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv("GITEA_TOKEN")
headers = {"Authorization": f"token {TOKEN}"}
data = {
"name": "3lab_testrepo",
"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)

9
http_requests.py Normal file
View File

@ -0,0 +1,9 @@
import requests
# Отправляем GET-запрос
response = requests.get("http://vyatsu.ru")
# Выводим статус код и первые 500 символов ответа
print(f"Status Code: {response.status_code}")
print(f"Headers: {response.headers}")
print(f"Content (first 500 chars):\n{response.text[:500]}")

32
http_socket.py Normal file
View File

@ -0,0 +1,32 @@
import socket
# Создаем TCP сокет
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Подключаемся к веб-серверу (порт 80 - стандартный для HTTP)
client.connect(('vyatsu.ru', 80))
# Формируем HTTP-запрос
request = (
"GET / HTTP/1.1\r\n" # Метод GET, путь /, версия HTTP/1.1
"Host: vyatsu.ru\r\n" # Заголовок Host
"User-Agent: PythonSocket/1.0\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())
# Закрываем соединение
client.close()

17
tcp_client.py Normal file
View File

@ -0,0 +1,17 @@
import socket
# Создаем TCP сокет
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Подключаемся к серверу
client.connect(('127.0.0.1', 10000))
# Отправляем сообщение
message = input("Введите сообщение для сервера (или 'exit' для выхода): ")
client.sendall(message.encode())
# Получаем ответ
data = client.recv(1024)
print(f"Ответ от сервера: {data.decode()}")
# Закрываем соединение
client.close()

33
tcp_server.py Normal file
View File

@ -0,0 +1,33 @@
import socket
# Создаем TCP сокет (SOCK_STREAM)
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Привязываем сокет к адресу и порту
server.bind(("0.0.0.0", 10000))
# Начинаем слушать входящие соединения (1 - максимальное количество ожидающих соединений)
server.listen(1)
print("TCP сервер запущен на порту 10000")
while True:
# Принимаем соединение
conn, addr = server.accept()
print(f"Подключение от {addr}")
# Получаем данные (максимум 1024 байта)
data = conn.recv(1024)
if not data:
break
# Отправляем данные обратно в верхнем регистре
conn.sendall(data.upper())
print(f"Отправлено: {data.upper().decode()}")
# Закрываем соединение
conn.close()
# Если получена команда EXIT, завершаем работу сервера
if data.upper() == b'EXIT':
break
server.close()
print("TCP сервер остановлен")

13
token_requiest.py Normal file
View File

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

15
udp_client.py Normal file
View File

@ -0,0 +1,15 @@
import socket
# Создаем UDP сокет
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()

19
udp_server.py Normal file
View File

@ -0,0 +1,19 @@
import socket
# Создаем UDP сокет (SOCK_DGRAM)
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()}")
# Модифицируем данные (добавляем "UDP: " в начало)
modified_data = b"UDP: " + data.upper()
# Отправляем модифицированные данные обратно
server.sendto(modified_data, addr)
print(f"Отправлено: {modified_data.decode()}")