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
examples
README.md
manifest.py

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> ...