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 aiohttp

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

Ailt ghaolmhara