HTTP-Client
По-умолчанию библиотека использует SingleAiohttpClient для отправки всех запросов.
(Его особенность в том, что он всегда использует одну и ту же сессию.)
Работа с клиентами
request_raw
Делает реквест. Для aiohttp возвращает объект aiohttp.ClientResponse.
request_text
Делает реквест и читает поле text. Возвращает строковый тип
request_json
Делает реквест и десериализует json с помощью одной из доступных библиотек, выбираются с помощью choicelib в порядке слева направо: json, ujson, hyperjson, orjson. Возвращает словарь десериализованный из jsonа
request_content
Делает реквест и читает вернувшийся content, используется для скачивания медиафайлов в аплоадерах. Возвращает байты
Параметры
- url - ссылка по которой будет произведен
- method - HTTP метод запроса (например: get)
- data - данные которые будут переданы в запросе
- **kwargs - передаются в качестве параметров в запросе
При инициализации AiohttpClient можно указать параметры
- session - объект сессии (если не указан, то будет создан новый)
- json_processing_module - модуль для десериализации json
(если не указан, то будет использован один из доступных модулей) - optimize - если передан True, то в конструктор сессии будут переданы параметры
raise_for_status=Trueиskip_auto_headers={"User-Agent"}. - **session_params -
**kwargs, передаются в конструктор сессии.
Можно использовать для передачиheadersилиcookies
Примечание
Подробнее обо всех параметрах можно почитать здесь.
Пример
from vkbottle.http import AiohttpClient
# ...
http_client = AiohttpClient()
await http_client.request_text("https://google.com")
Создание кастомного клиента
Кастомный клиент должен унаследовать ABCHTTPClient и имплементировать вышеупомянутые методы