IO::Socket::Socks може исписати SOCKS размену када веза не успе. Експлицитно наведите прокси, одредиште и опцију за отклањање грешака:

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();

Модул документује SocksDebug као приказ SOCKS саобраћаја у облику оријентисаном на протокол. Користите га да видите докле је преговарање стигло и да проверите враћени код SOCKS грешке.

ProxyAddr и ProxyPort идентификују посредника. Неаутентификована адреса са листе SOCKS5 проксија може попунити та поља за дозвољени јавни HTTP тест. ConnectAddr и ConnectPort идентификују услугу са којом треба да се повеже. Грешка при доласку до слушаоца и негативан одговор SOCKS везе две су различите опсервације.

За прокси који захтева SOCKS5 аутентификацију корисничким именом и лозинком, документована поља конструктора укључују AuthType => 'userpass', Username и Password.

Успешни блокирајући конструктор успоставља SOCKS везу, док захтев апликације кроз враћени сокет даје каснији резултат апликације. За HTTPS одредиште додајте проверени TLS одредишта након SOCKS-а пре слања захтева тог протокола. Третирајте debug излаз као осетљив када су укључени акредитиви.

Повезани чланци