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 പ്രോക്സി ഓപ്ഷനിലേക്ക് നൽകുന്നത് കണക്ടറിന്റെ രേഖപ്പെടുത്തിയ പാതയ്ക്ക് പകരമല്ല.