د HTTP پراکسي له لارې یوه aiohttp غوښتنه
په aiohttp بې تاییده HTTP پراکسي غوښتنه ولېږئ، حالت یې وګورئ او په څرګند ناهماهنګ ژوندپړاو کې یې بشپړه کړئ.
د بې تاییده 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 یوازې هغه مهال وټاکئ چې د پروسې میراثي چاپېریال غوښتل شوې د لارې ټاکلو تګلاره وي.