Eng aiohttp-Ufro duerch en HTTP-Proxy
Schéckt eng aiohttp-Ufro duerch en HTTP-Proxy ouni Authentifizéierung, préift de Status a schléisst an engem explizitten asynchrone Liewenszyklus of.
Fir eng eenzel asynchron Ufro duerch en HTTP-Proxy ouni Authentifizéierung, haalt d’Streck bei session.get(). Füügt aiohttp bei Bedarf dem Projet bäi:
uv add aiohttpErsetzt déi folgend Dokumentatiounsadress duerch Ären HTTP-Listener oder e Kandidat aus der Lëscht vun HTTP-Proxye. E muss CONNECT op d’HTTPS-Zil erlaben; e reng SOCKS-Endpunkt brauch e passende Connector amplaz vun dësem proxy-Argument.
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())
D’Ufro weist hiren HTTP-Status an déi éischt 200 Zeeche vum Äntwerttext. En 403 oder 429 bleift hei eng préifbar Äntwert; rufft response.raise_for_status() op, wann Är App erfolleglos Statussen an Ausname verwandele soll. Déi asynchron Kontextmanager maachen d’Sessioun an d’Äntwert um Enn vun hire Bléck zou, och bei enger Ausnam.
De 15-Sekonnen-total-Budget deckt d’Ufrooperatioun of. De 5-Sekonnen-connect-Budget ëmfaasst d’Waarden op eng disponibel Poolverbindung, sou datt e beschäftegte Pool e virum Opmaache vun engem neie Socket opbrauche kann. Dësen Ënnerscheed ass wichteg beim Ausbau vum eenzelen Opruff op gläichzäiteg Kontrollen.
trust_env=False hält déi gewise Streck explizitt. aiohttp sicht standardméisseg net no Proxy-Ëmweltvariabelen; den Export vun enger an engem aneren Terminal konfiguréiert dësen Opruff net. Wielt trust_env=True nëmmen, wann déi geierft Prozessëmwelt déi gewënschte Routingpolitik ass.