Ombi moja la aiohttp kupitia proksi ya HTTP
Tuma ombi la aiohttp kupitia proksi ya HTTP bila uthibitishaji, kagua hali yake na ukamilishe ndani ya mzunguko wa maisha usiolandanishwa ulio wazi.
Kwa ombi moja lisilolandanishwa kupitia proksi ya HTTP bila uthibitishaji, weka njia kwenye session.get(). Ongeza aiohttp kwenye mradi ikihitajika:
uv add aiohttpBadilisha anwani ya nyaraka hapa chini kwa ncha yako inayosikiliza HTTP au mgombea kutoka orodha ya proksi za HTTP. Lazima iruhusu CONNECT kwenda lengwa la HTTPS; ncha ya SOCKS pekee inahitaji kiunganishi kinachofaa badala ya hoja hii 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())
Ombi linaonyesha hali yake ya HTTP na herufi 200 za kwanza za maandishi ya jibu. 403 au 429 bado ni jibu linaloweza kukaguliwa hapa; ita response.raise_for_status() ikiwa programu yako inapaswa kubadili hali zisizofanikiwa kuwa vighairi. Wasimamizi wa muktadha wasiolandanishwa hufunga kikao na jibu vitalu vyao vinapoisha, hata wakati wa kighairi.
Bajeti ya sekunde 15 ya total inahusu operesheni ya ombi. Bajeti ya sekunde 5 ya connect inajumuisha kusubiri muunganisho unaopatikana kwenye kundi, hivyo kundi lenye shughuli linaweza kuitumia yote kabla ya soketi mpya kufunguliwa. Tofauti hii ni muhimu unapobadili mwito mmoja kuwa ukaguzi wa pamoja.
trust_env=False huweka njia iliyoonyeshwa wazi. aiohttp haitambui vigezo vya mazingira vya proksi kwa chaguo-msingi; kuhamisha kigezo kimoja katika terminali nyingine hakusanidi mwito huu. Chagua trust_env=True tu wakati mazingira yaliyorithiwa na mchakato ndiyo sera ya uelekezaji iliyokusudiwa.