API Client

API Module use in Module

class AsyncAnilibriaAPI(*args, **kwargs)

Базовые классы: AsyncBaseAPI

Асинхронный клиент для работы с AnilibriaAPI

Параметры:
  • base_url (str) – Базовый URL API

  • authorization (str) – Установить свой токен в формате «Bearer …»

  • proxy (str | None) – URL прокси-сервера (http://proxy:port или https://proxy:port)

  • proxy_auth (aiohttp.BasicAuth | None) – Аутентификация для прокси (BasicAuth)

  • proxy_headers (Dict[str, str] | None) – Заголовки для прокси

__init__(base_url='https://anilibria.top/api/v1', authorization='Bearer', proxy=None, proxy_auth=None, proxy_headers=None)
async execute(endpoint, method='GET', data=None, json_data=None, headers=None, **kwargs)

Создание своего уникального запроса

Параметры:
  • method (str) – Метод используемый для запроса, например GET (обязательно)

  • endpoint (str) – Конечная точка API (обязательно)

  • data (Dict[str, Any] | str | bytes | None) – Тело запроса

  • json_data (Dict[str, Any] | None) – JSON тело запроса

  • headers (Dict[str, str] | None) – Дополнительные заголовки

  • kwargs – Дополнительные аргументы для aiohttp

Результат:

Ответ от API

Тип результата:

Dict[str, Any] | str | bytes

API Class used in module

class AsyncBaseAPI(base_url, headers=None, timeout=10, proxy=None, proxy_auth=None, proxy_headers=None)

Базовые классы: object

Асинхронный базовый класс для работы с API. Предоставляет основные методы для отправки HTTP-запросов и работы с URL.

__init__(base_url, headers=None, timeout=10, proxy=None, proxy_auth=None, proxy_headers=None)

Инициализация асинхронного API клиента.

Параметры:
  • base_url (str) – Базовый URL API

  • headers (Dict[str, str] | None) – Заголовки по умолчанию для всех запросов

  • timeout (int) – Таймаут запросов в секундах

  • proxy (str | None) – URL прокси-сервера (http://proxy:port или https://proxy:port)

  • proxy_auth (BasicAuth | None) – Аутентификация для прокси (BasicAuth)

  • proxy_headers (Dict[str, str] | None) – Заголовки для прокси

async _ensure_session()

Создает сессию если она не существует

Тип результата:

ClientSession

async _close_session()

Закрывает сессию если она принадлежит этому экземпляру

set_proxy(proxy=None, proxy_auth=None, proxy_headers=None)

Установка прокси параметров.

Параметры:
  • proxy (str | None) – URL прокси-сервера

  • proxy_auth (BasicAuth | None) – Аутентификация для прокси

  • proxy_headers (Dict[str, str] | None) – Заголовки для прокси

create_proxy_auth(username, password)

Создает объект аутентификации для прокси.

Параметры:
  • username (str) – Имя пользователя

  • password (str) – Пароль

Результат:

Объект BasicAuth

Тип результата:

BasicAuth

static build_query_string(params)

Создает query string из параметров.

Параметры:

params (Dict[str, Any]) – Словарь параметров

Результат:

Строка вида ?key1=value1&key2=value2

Тип результата:

str

static build_url(base_url, endpoint, params=None)

Строит полный URL с параметрами.

Параметры:
  • base_url (str) – Базовый URL

  • endpoint (str) – Конечная точка

  • params (Dict[str, Any] | None) – Параметры запроса

Результат:

Полный URL с query-параметрами

Тип результата:

str

encode_path_param(param)

Кодирует параметр для использования в пути URL.

Параметры:

param (Any) – Параметр для кодирования

Результат:

Закодированная строка

Тип результата:

str

build_endpoint_with_params(endpoint_template, **path_params)

Строит endpoint с подставленными параметрами пути.

Параметры:
  • endpoint_template (str) – Шаблон endpoint (например: „/users/{user_id}/posts/{post_id}“)

  • path_params – Параметры для подстановки в путь

Результат:

Готовый endpoint с подставленными параметрами

Тип результата:

str

async _request(method, endpoint, params=None, data=None, json_data=None, headers=None, proxy=None, proxy_auth=None, proxy_headers=None, **kwargs)

Базовый метод для отправки HTTP-запросов.

Параметры:
  • method (str) – HTTP метод (GET, POST, PUT, DELETE и т.д.)

  • endpoint (str) – Конечная точка API (относительный путь)

  • params (Dict[str, Any] | None) – Параметры запроса (для GET)

  • data (Dict[str, Any] | str | bytes | None) – Тело запроса (для POST, PUT)

  • json_data (Dict[str, Any] | None) – JSON тело запроса

  • headers (Dict[str, str] | None) – Дополнительные заголовки запроса

  • proxy (str | None) – Прокси для этого запроса (переопределяет глобальный)

  • proxy_auth (BasicAuth | None) – Аутентификация прокси для этого запроса

  • proxy_headers (Dict[str, str] | None) – Заголовки прокси для этого запроса

  • kwargs – Дополнительные аргументы для aiohttp

Результат:

Ответ от API (десериализованный JSON или сырые данные)

Тип результата:

Dict[str, Any] | str | bytes

_handle_error(error)

Обработка ошибок запроса.

Параметры:

error (ClientError) – Исключение aiohttp

Результат:

Исключение для проброса

Тип результата:

Exception

async get(endpoint, params=None, headers=None, proxy=None, proxy_auth=None, **kwargs)

Отправка GET запроса.

Параметры:
  • endpoint (str) – Конечная точка API

  • params (Dict[str, Any] | None) – Параметры запроса

  • headers (Dict[str, str] | None) – Дополнительные заголовки

  • proxy (str | None) – Прокси для этого запроса

  • proxy_auth (BasicAuth | None) – Аутентификация прокси для этого запроса

  • kwargs – Дополнительные аргументы для aiohttp

Результат:

Ответ от API

Тип результата:

Dict[str, Any] | str | bytes

async post(endpoint, data=None, json_data=None, headers=None, proxy=None, proxy_auth=None, **kwargs)

Отправка POST запроса.

Параметры:
  • endpoint (str) – Конечная точка API

  • data (Dict[str, Any] | str | bytes | None) – Тело запроса

  • json_data (Dict[str, Any] | None) – JSON тело запроса

  • headers (Dict[str, str] | None) – Дополнительные заголовки

  • proxy (str | None) – Прокси для этого запроса

  • proxy_auth (BasicAuth | None) – Аутентификация прокси для этого запроса

  • kwargs – Дополнительные аргументы для aiohttp

Результат:

Ответ от API

Тип результата:

Dict[str, Any] | str | bytes