Fyri ein ósamstillaðan fyrispurning gjøgnum eina HTTP-proxy uttan váttan skalt tú hava leiðina á session.get(). Legg aiohttp afturat verkætlanini um neyðugt:

uv add aiohttp

Skift dokumentatiónsadressuna niðanfyri út við títt HTTP-lurtipunkt ella eitt valevni úr listanum við HTTP-proxyum. Tað má loyva CONNECT til HTTPS-málið; eitt endapunkt, sum bara stuðlar SOCKS, krevur ein hóskandi sambindara heldur enn hetta proxy-argumentið.

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())

Fyrispurningurin prentar HTTP-støðuna og fyrstu 200 teknini av svartekstinum. Eitt 403 ella 429 er framvegis eitt svar at kanna her; kalla response.raise_for_status(), um forritið skal gera miseydnaðar støður til undantøk. Ósamstillaðu kontekststýrararnir lata setuna og svarið aftur, tá blokkar teirra enda, eisini við undantaki.

total-markið á 15 sekund fevnir um fyrispurningin. connect-markið á 5 sekund fevnir eisini um at bíða eftir tøkum sambandi úr puljuni, so ein upptikin pulja kann brúka tíðina, áðrenn ein nýggjur socket verður opnaður. Hetta hevur týdning, tá einstaka kallið verður lagað til samstundis kanningar.

trust_env=False heldur vístu leiðina týðiliga ásetta. aiohttp finnur ikki proxy-umhvørvisvariablar sum standard; at eksportera eina í einum øðrum terminali setur ikki hetta kallið upp. Vel bert trust_env=True, tá arvaða umhvørvið hjá prosessini er ætlaða leiðingarpolitikkið.

Skyldar greinar