Üks aiohttp päring läbi HTTP-puhverserveri
Tee aiohttp-ga autentimata HTTP-puhverserveri päring, vaata selle olekut ja lõpeta selges asünkroonses elutsüklis.
Ühe asünkroonse päringu jaoks läbi autentimata HTTP-puhverserveri hoia marsruut session.get() juures. Vajaduse korral lisa projektile aiohttp:
uv add aiohttpAsenda allolev dokumentatsiooni aadress oma HTTP-kuulajaga või kandidaadiga HTTP-puhverserverite loendist. See peab lubama CONNECT-i HTTPS-sihtkohta; ainult SOCKS-i toetav lõpp-punkt vajab selle proxy argumendi asemel sobivat konnektorit.
import asyncio
import aiohttp
async def main():
timeout = aiohttp.ClientTimeout(total=15, connect=5)
async with aiohttp.ClientSession(
timeout=timeout,
trust_env=False,
) as session:
async with session.get(
"https://example.com/",
proxy="http://203.0.113.10:8080",
) as response:
print(response.status)
print((await response.text())[:200])
asyncio.run(main())
Päring väljastab HTTP-oleku ja vastuseteksti esimesed 200 märki. 403 või 429 jääb siin vaadeldavaks vastuseks; kutsu response.raise_for_status(), kui rakendus peaks ebaõnnestunud olekud eranditeks muutma. Asünkroonsed kontekstihaldurid sulgevad seansi ja vastuse oma plokkide lõpus, ka erandi korral.
15-sekundiline total ajavaru katab päringuoperatsiooni. 5-sekundiline connect ajavaru sisaldab vaba puuliühenduse ootamist, seega võib hõivatud puul selle ära kulutada enne uue sokli avamist. See erinevus loeb ühe kutse kohandamisel samaaegseteks kontrollideks.
trust_env=False hoiab näidatud marsruudi selgesõnalise. aiohttp ei leia vaikimisi puhverserveri keskkonnamuutujaid; muutuja eksportimine teises terminalis ei seadista seda kutset. Vali trust_env=True ainult siis, kui protsessi päritud keskkond on kavandatud marsruutimispoliitika.