Реализация работы с API Gitea
This commit is contained in:
parent
52289bca1f
commit
bf594787d3
22
gitea_api.py
Normal file
22
gitea_api.py
Normal 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
9
http_requests.py
Normal 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
32
http_socket.py
Normal 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
17
tcp_client.py
Normal 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
33
tcp_server.py
Normal 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
13
token_requiest.py
Normal 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
15
udp_client.py
Normal 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
19
udp_server.py
Normal 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()}")
|
Loading…
Reference in New Issue
Block a user