د بې تاییده HTTP پراکسي له لارې د یوې ناهماهنګې غوښتنې لپاره لاره په session.get() وساتئ. که اړتیا وي aiohttp پروژې ته ورزیات کړئ:

uv add aiohttp

لاندې د سند پته په خپل HTTP اورېدونکي یا د HTTP پراکسي لېست په نوماند بدله کړئ. باید د HTTPS موخې ته CONNECT اجازه ورکړي؛ یوازې SOCKS پای‌ټکی د دې proxy ارګومېنټ پر ځای مناسب نښلوونکی غواړي.

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

غوښتنه د HTTP حالت او د ځواب متن لومړي 200 توري چاپوي. 403 یا 429 هم دلته د کتنې وړ ځواب پاتې کېږي؛ که کاریال باید ناکام حالتونه استثناوو ته واړوي response.raise_for_status() راوغواړئ. ناهماهنګ د سیاق مدیران د بلاکونو په پای کې ناسته او ځواب تړي، د استثنا پر مهال هم.

د 15 ثانیو total بودجه د غوښتنې عملیات رانغاړي. د 5 ثانیو connect بودجه په پول کې د شته اړیکې انتظار هم رانغاړي، نو بوخت پول یې د نوي ساکټ تر پرانیستلو مخکې مصرفولای شي. یوه غوښتنه هممهاله کتنو ته اړولو کې دا توپیر مهم دی.

trust_env=False ښودل شوې لاره څرګنده ساتي. aiohttp په اصلي حالت کې د پراکسي چاپېریالي متغیرونه نه مومي؛ په بل ترمینل کې د یوه صادرول دا غوښتنه نه تنظیموي. trust_env=True یوازې هغه مهال وټاکئ چې د پروسې میراثي چاپېریال غوښتل شوې د لارې ټاکلو تګلاره وي.

اړوندې مقالې