Синхронный HTTP-клиент

Синхронный HTTP-клиент.

class yandex_music.utils.request.Request

Вспомогательный класс для выполнения запросов.

Предоставляет методы для выполнения POST и GET запросов, скачивания файлов.

Parameters:
  • client (yandex_music.Client, optional) – Клиент Yandex Music.

  • headers (dict, optional) – Заголовки передаваемые с каждым запросом.

  • proxy_url (str, optional) – Прокси.

get(url, params=None, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

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

Parameters:
  • url (str) – Адрес для запроса.

  • params (str) – GET параметры для запроса.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для requests.request.

Returns:

Обработанное тело ответа.

Return type:

JSONType

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

post(url, data=None, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

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

Parameters:
  • url (str) – Адрес для запроса.

  • data (str) – POST тело запроса.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для requests.request.

Returns:

Обработанное тело ответа.

Return type:

JSONType

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

put(url, json=None, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

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

Parameters:
  • url (str) – Адрес для запроса.

  • json (dict) – JSON тело запроса.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для requests.request.

Returns:

Обработанное тело ответа.

Return type:

JSONType

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

delete(url, json=None, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

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

Parameters:
  • url (str) – Адрес для запроса.

  • json (dict) – JSON тело запроса.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для requests.request.

Returns:

Обработанное тело ответа.

Return type:

JSONType

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

retrieve(url, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

Отправка GET запроса и получение содержимого без обработки (парсинга).

Parameters:
  • url (str) – Адрес для запроса.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для requests.request.

Returns:

Тело ответа.

Return type:

bytes

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.

download(url, filename, timeout=<yandex_music.utils.request_base.DefaultTimeout object>, **kwargs)

Отправка запроса на получение содержимого и его запись в файл.

Parameters:
  • url (str) – Адрес для запроса.

  • filename (str) – Путь и(или) название файла вместе с расширением.

  • timeout (int | float) – Используется как время ожидания ответа от сервера вместо указанного при создании пула.

  • **kwargs – Произвольные ключевые аргументы для requests.request.

Raises:

yandex_music.exceptions.YandexMusicError – Базовое исключение библиотеки.