Отклањање грешака у IO::Socket::Socks везама помоћу SocksDebug
Омогућите дијагностику руковања IO::Socket::Socks за прокси и одредиште које истражујете.
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 излаз као осетљив када су укључени акредитиви.