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 ಪ್ರಾಕ್ಸಿ ಆಯ್ಕೆಗೆ ನೀಡುವುದು ಕನೆಕ್ಟರ್ನ ದಾಖಲಿತ ಮಾರ್ಗಕ್ಕೆ ಪರ್ಯಾಯವಲ್ಲ.