IO::Socket::Socks ulanish muvaffaqiyatsiz bo'lganda SOCKS almashinuvini chop eta oladi. Proxy, manzil va tuzatish opsiyasini aniq ko'rsating:

use IO::Socket::Socks;

my $socket = IO::Socket::Socks->new(
    ProxyAddr   => 'proxy.example',
    ProxyPort   => 1080,
    ConnectAddr => 'www.example.com',
    ConnectPort => 80,
    SocksVersion => 5,
    SocksDebug  => 1,
    Timeout     => 10,
) or die $SOCKS_ERROR;

$socket->close();

Modul SocksDebug ni SOCKS trafigini protokolga yo'naltirilgan shaklda ko'rsatuvchi vosita sifatida hujjatlashtiradi. Muzokaralar qanchalik ilgarilaganini ko'rish va qaytarilgan SOCKS xatolik kodini tekshirish uchun undan foydalaning.

ProxyAddr va ProxyPort vositachini belgilaydi. SOCKS5 proksilar ro'yxatidan autentifikatsiyasiz manzil ruxsat etilgan ommaviy HTTP sinovi uchun bu maydonlarni to'ldirishi mumkin. ConnectAddr va ConnectPort ulanadigan xizmatni belgilaydi. Tinglovchiga yetib borishdagi xato va SOCKS ulanishining salbiy javobi ikki xil kuzatuvdir.

SOCKS5 foydalanuvchi nomi/parol autentifikatsiyasini talab qiladigan proxy uchun hujjatlashtirilgan konstruktor maydonlari AuthType => 'userpass', Username va Password ni o'z ichiga oladi.

Muvaffaqiyatli bloklovchi konstruktor SOCKS ulanishini o'rnatadi, qaytarilgan soket orqali ilova so'rovi esa keyingi ilova natijasini beradi. HTTPS manzili uchun o'sha protokol so'rovini yuborishdan oldin SOCKSdan keyin tekshirilgan manzil TLSini qo'shing. Hisob ma'lumotlari ishtirok etganda tuzatish chiqishini maxfiy deb hisoblang.

O'xshash maqolalar