aiohttp-də aiohttp-socks ilə SOCKS marşrutlaşdırması
Silinmiş konnektor sinifləri olan köhnə aiohttp proxy nümunəsini kopyalamaq əvəzinə SOCKS-u dəstəkləyən uyğun konnektor istifadə edin.
aiohttp HTTP proxy dəstəyini sorğu seçimləri vasitəsilə sənədləşdirir. SOCKS son nöqtəsi SOCKS danışan bir tətbiq tələb edir. Proxy URL-nin portunu 1080-ə dəyişmək bu tətbiqi təmin etmir.
async funksiya daxilində saxlanılan aiohttp-socks layihəsinin təqdim etdiyi konnektordan istifadə edin:
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()Bu, konnektor paketinin artıq mövcud olduğunu və tətbiqdəki aiohttp versiyası ilə uyğun olduğunu fərz edir. Son nöqtə nümunəvidir; SOCKS5 proxy siyahısı konnektor URL-si üçün açıq namizədlər təqdim edir. Faktiki iş yükü üçün vaxt aşımı və cavab ölçüsü siyasətini konfiqurasiya edin.
Köhnə cavablar müxtəlif paketlərə və konnektor adlarına istinad edir: aiosocks, aiosocksy və aiohttp-socks bir-birini əvəz edə bilən idxal yolları deyil. Həqiqətən istifadə olunan paketin tələblərini və nümunəsini oxuyun. Bir layihənin sinfini başqa layihənin arqumentləri ilə birləşdirmək hər hansı proxy bağlantısı cəhdindən əvvəl uğursuz ola bilər.
Konnektoru və sessiya ömrünü birlikdə saxlayın və vacib olduqda host adı həlli davranışını yoxlayın. SOCKS URL-sini əlaqəsiz HTTP proxy seçiminə ötürmək konnektorun sənədləşdirilmiş marşrutunun əvəzi deyil.