Iarratas aiohttp amháin trí sheachfhreastalaí HTTP
Déan iarratas aiohttp trí sheachfhreastalaí HTTP gan fíordheimhniú, scrúdaigh a stádas agus críochnaigh i saolré asincrónach shainráite.
Le haghaidh iarratas asincrónach amháin trí sheachfhreastalaí HTTP gan fíordheimhniú, coinnigh an bealach ar session.get(). Cuir aiohttp leis an tionscadal más gá:
uv add aiohttpCuir d’éisteoir HTTP nó iarrthóir ón liosta seachfhreastalaithe HTTP in áit an tseolta doiciméadúcháin thíos. Caithfidh sé CONNECT chuig an gceann scríbe HTTPS a cheadú; teastaíonn nascóir oiriúnach ó chríochphointe SOCKS amháin in ionad an argóint proxy seo.
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())
Priontálann an t-iarratas a stádas HTTP agus na chéad 200 carachtar den téacs freagartha. Is freagra ar féidir é a scrúdú fós é 403 nó 429 anseo; glaoigh ar response.raise_for_status() má tá an aip le stádais nár éirigh leo a thiontú ina n-eisceachtaí. Dúnann na bainisteoirí comhthéacs asincrónacha an seisiún agus an freagra nuair a chríochnaíonn a mbloic, fiú le heisceacht.
Clúdaíonn an buiséad total 15 soicind oibríocht an iarratais. Áirítear sa bhuiséad connect 5 shoicind fanacht le ceangal atá ar fáil sa linn, agus mar sin d’fhéadfadh linn ghnóthach é a ídiú sula n-osclaítear soicéad nua. Tá an difríocht seo tábhachtach agus an glao aonair á oiriúnú do sheiceálacha comhthráthacha.
Coinníonn trust_env=False an bealach a thaispeántar sainráite. Ní aimsíonn aiohttp athróga timpeallachta seachfhreastalaí de réir réamhshocraithe; ní chumróidh easpórtáil ceann i dteirminéal eile an glao seo. Roghnaigh trust_env=True ach amháin nuair is é timpeallacht oidhreachta an phróisis an beartas ródaithe beartaithe.