aiohttp లో aiohttp-socks తో SOCKS రూటింగ్
తొలగించిన కనెక్టర్ క్లాసులతో ఉన్న పాత aiohttp ప్రాక్సీ ఉదాహరణను కాపీ చేయకుండా SOCKS తెలిసిన సరిపోయే కనెక్టర్ను ఉపయోగించండి.
aiohttp తన అభ్యర్థన ఎంపికల ద్వారా HTTP ప్రాక్సీ మద్దతును నమోదు చేస్తుంది. SOCKS ఎండ్పాయింట్కు SOCKS మాట్లాడే అమలు అవసరం. ప్రాక్సీ URL పోర్ట్ను 1080 కి మార్చడం ఆ అమలును ఇవ్వదు.
async ఫంక్షన్ లోపల, నిర్వహించబడుతున్న aiohttp-socks ప్రాజెక్ట్ అందించే కనెక్టర్ను ఉపయోగించండి:
import aiohttp
from aiohttp_socks import ProxyConnector
connector = ProxyConnector.from_url('socks5://203.0.113.10:1080')
async with aiohttp.ClientSession(connector=connector) as session:
async with session.get('https://example.com/') as response:
body = await response.read()ఇది కనెక్టర్ ప్యాకేజీ ఇప్పటికే అందుబాటులో ఉందని మరియు యాప్లోని aiohttp సంస్కరణతో సరిపోతుందని ఊహిస్తుంది. ఎండ్పాయింట్ ఉదాహరణార్థం; SOCKS5 ప్రాక్సీ జాబితా కనెక్టర్ URL కోసం పబ్లిక్ అభ్యర్థులను అందిస్తుంది. వాస్తవ పనిభారం కోసం టైమౌట్ మరియు ప్రతిస్పందన-పరిమాణ విధానాన్ని కాన్ఫిగర్ చేయండి.
పాత సమాధానాలు వివిధ ప్యాకేజీలు మరియు కనెక్టర్ పేర్లను సూచిస్తాయి: aiosocks, aiosocksy మరియు aiohttp-socks పరస్పరం మార్చుకోగలిగే ఇంపోర్ట్ మార్గాలు కావు. నిజంగా ఉపయోగించే ప్యాకేజీ యొక్క అవసరాలు మరియు ఉదాహరణను చదవండి. ఒక ప్రాజెక్ట్ క్లాస్ను మరొకదాని ఆర్గ్యుమెంట్లతో కలపడం ఏదైనా ప్రాక్సీ కనెక్షన్ ప్రయత్నానికి ముందే విఫలమవచ్చు.
కనెక్టర్ మరియు సెషన్ ఆయుష్షును కలిసి ఉంచండి, మరియు ముఖ్యమైన చోట హోస్ట్నేమ్ రిజల్యూషన్ ప్రవర్తనను తనిఖీ చేయండి. SOCKS URL ను సంబంధం లేని HTTP ప్రాక్సీ ఎంపికకు ఇవ్వడం కనెక్టర్ యొక్క నమోదిత మార్గానికి ప్రత్యామ్నాయం కాదు.