HTTP-клиент с логированием на основе LLS
Project description
LibraryHttp (LH)
LH - это универсальная библиотека для выполнения HTTP запросов с поддержкой повторных попыток и логирования.
Особенности
- Поддержка GET запросов
- Поддержка скачивания файлов
- Автоматические повторные попытки при ошибках
- Прогресс-бар для скачивания
- Интеграция с LibraryLogSystem (LLS)
- Настраиваемый User-Agent
- Настраиваемые таймауты и задержки
Установка
from LH import Http
Использование
GET запрос
from LH import Http
Простой GET запрос
response = Http.get('https://api.example.com/data')
GET запрос с таймаутом
response = Http.get('https://api.example.com/data', timeout=10)
GET запрос с JSON
data = Http.get_json('https://api.example.com/data')
Скачивание файлов
from LH import Http
Скачивание с прогрессом
def progress(percent):
print(f"Загружено: {percent}%")
Http.download(
'https://example.com/file.zip',
'downloads/file.zip',
progress_callback=progress
)
Скачивание без прогресса
Http.download('https://example.com/file.zip', 'downloads/file.zip')
Настройка параметров
GET запрос с кастомными параметрами
response = Http.get(
url='https://api.example.com/data',
timeout=30,
attempts=5,
backoff=2.0
)
API
Http.get()
Http.get(url, timeout=15, attempts=3, backoff=1.5)
Выполняет GET запрос.
Параметры:
- url (str): URL запроса
- timeout (int): Таймаут в секундах (по умолчанию: 15)
- attempts (int): Количество попыток (по умолчанию: 3)
- backoff (float): Множитель задержки между попытками (по умолчанию: 1.5)
Возвращает:
- bytes: Содержимое ответа
Исключения:
- urllib.error.HTTPError: Ошибка HTTP
- urllib.error.URLError: Ошибка сети
Http.get_json()
Http.get_json(url, timeout=15)
Выполняет GET запрос и возвращает JSON.
Параметры:
- url (str): URL запроса
- timeout (int): Таймаут в секундах (по умолчанию: 15)
Возвращает:
- dict/list: Парсенный JSON
Http.download()
Http.download(url, dest_path, progress_callback=None, timeout=15, attempts=3, backoff=1.5)
Скачивает файл по URL.
Параметры:
- url (str): URL файла
- dest_path (str): Путь для сохранения
- progress_callback (callable): Функция для отслеживания прогресса (получает процент)
- timeout (int): Таймаут в секундах (по умолчанию: 15)
- attempts (int): Количество попыток (по умолчанию: 3)
- backoff (float): Множитель задержки между попытками (по умолчанию: 1.5)
Логирование
Библиотека автоматически логирует все запросы и ошибки через LLS:
[25.07.2026 21:59:18] [DEBUG] [client.py] [get] [25] -> Попытка 1/3 не удалась для https://api.example.com: Connection refused. Повтор через 1.5 с.
[25.07.2026 21:59:18] [INFO] [client.py] [get] [30] -> Запрос выполнен успешно
Зависимости
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eof_413_lh-1.0.1.tar.gz.
File metadata
- Download URL: eof_413_lh-1.0.1.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd8d723363b4b616b312df98523935a30bda833907d0ba72984cd3fcf9902caa
|
|
| MD5 |
dfac5ad5fab16ddd0c62e6b557114abb
|
|
| BLAKE2b-256 |
e7a2d8c77964bf405089d0cabb2f0f3e9efb9a47aa10baa793b33919a911e843
|
File details
Details for the file eof_413_lh-1.0.1-py3-none-any.whl.
File metadata
- Download URL: eof_413_lh-1.0.1-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90e152438f53d67b109c590a6260aea78e159cb99d157637766b92fb4dddfb2c
|
|
| MD5 |
bc16a5fe9ab34dee480f9122c7fc44cc
|
|
| BLAKE2b-256 |
aa697e8c6bec7138f22971a636a904e38c9900d5a1cad49e77dbf607938d32f4
|