Посоветуйте библиотеку для асинхронных запросов, аналог requests

В общем пишу телеграм бота и использую там библиотеку requests, оказалось что она не работает в асинхроне и ищу аналог. Посоветуйте, пожалуйста, библиотеку для получения кода страницы, которая будет работать в асинхроне


Ответы (1 шт):

Автор решения: insolor

Мне известно две таких библиотеки:

aiohttp

Позволяет реализовывать как асинхронный клиенты, так и асинхронные серверы. Пример асинхронного http запроса (скопировано из документации: Client Quickstart):

import aiohttp
import asyncio

async def main():
    async with aiohttp.ClientSession() as session:
        async with session.get('http://httpbin.org/get') as resp:
            print(resp.status)
            print(await resp.text())

asyncio.run(main())

httpx

Только клиент, может использоваться для синхронных и асинхронных http запросов. Пример асинхронного запроса:

import asyncio
import httpx

async def main():
    async with httpx.AsyncClient() as client:
        response = await client.get('https://www.example.com/')
        print(response)

asyncio.run(main())

Опять же, пример взят из документации: Async Support

→ Ссылка