micropython-lib/python-ecosys/aiohttp
jomas 05a56c3cad aiohttp: Allow headers to be passed to a WebSocketClient.
This commit will make it possible to add headers to a Websocket.

Among other things, this allows making a connection to online MQTT brokers
over websocket, using the header entry "Sec-WebSocket-Protocol":"mqtt" in
the handshake of the upgrade protocol.

Signed-off-by: Damien George <damien@micropython.org>
2025-04-13 00:20:58 +10:00
..
aiohttp aiohttp: Allow headers to be passed to a WebSocketClient. 2025-04-13 00:20:58 +10:00
examples all: Enable ruff E401 and E402 import lints. 2024-05-17 17:06:33 +10:00
README.md aiohttp: Add new aiohttp package. 2023-12-20 16:26:04 +11:00
manifest.py aiohttp: Allow headers to be passed to a WebSocketClient. 2025-04-13 00:20:58 +10:00

README.md

aiohttp is an HTTP client module for MicroPython asyncio module, with API mostly compatible with CPython aiohttp module.

[!NOTE] Only client is implemented.

See examples/client.py

import aiohttp
import asyncio

async def main():

    async with aiohttp.ClientSession() as session:
        async with session.get('http://micropython.org') as response:

            print("Status:", response.status)
            print("Content-Type:", response.headers['Content-Type'])

            html = await response.text()
            print("Body:", html[:15], "...")

asyncio.run(main())
$ micropython examples/client.py
Status: 200
Content-Type: text/html; charset=utf-8
Body: <!DOCTYPE html> ...