Penghalaan SOCKS dalam aiohttp dengan aiohttp-socks
Gunakan penyambung serasi yang memahami SOCKS dan bukan menyalin contoh proksi aiohttp lama dengan kelas penyambung yang telah dibuang.
aiohttp mendokumenkan sokongan proksi HTTP melalui pilihan permintaannya. Titik akhir SOCKS memerlukan pelaksanaan yang bertutur SOCKS. Menukar port URL proksi kepada 1080 tidak menyediakan pelaksanaan itu.
Di dalam fungsi async, gunakan penyambung yang disediakan oleh projek aiohttp-socks yang diselenggara:
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()Ini menganggap pakej penyambung sudah tersedia dan serasi dengan versi aiohttp dalam aplikasi. Titik akhir adalah ilustratif; senarai proksi SOCKS5 menawarkan calon awam untuk URL penyambung. Konfigurasikan dasar tamat masa dan saiz respons untuk beban kerja sebenar.
Jawapan lama merujuk kepada pakej dan nama penyambung yang berbeza: aiosocks, aiosocksy dan aiohttp-socks bukan laluan import yang boleh ditukar ganti. Baca keperluan dan contoh untuk pakej yang benar-benar digunakan. Menggabungkan kelas satu projek dengan argumen projek lain boleh gagal sebelum sebarang sambungan proksi dicuba.
Simpan penyambung dan jangka hayat sesi bersama-sama, dan semak tingkah laku penyelesaian nama hos di tempat yang penting. Menghantar URL SOCKS kepada pilihan proksi HTTP yang tidak berkaitan bukan pengganti laluan penyambung yang didokumenkan.