IO::Socket::Socks může vypsat výměnu SOCKS, když připojení selže. Zadejte proxy, cíl a možnost ladění výslovně:

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 dokumentuje SocksDebug jako zobrazení provozu SOCKS ve formě orientované na protokol. Použijte jej ke zjištění, jak daleko vyjednávání pokročilo, a k prozkoumání vráceného kódu selhání SOCKS.

ProxyAddr a ProxyPort určují prostředníka. Neautentizovaná adresa z seznamu proxy SOCKS5 může tato pole vyplnit pro povolený veřejný HTTP test. ConnectAddr a ConnectPort určují službu, ke které se má připojit. Chyba při dosažení posluchače a negativní odpověď SOCKS na připojení jsou dvě různá pozorování.

U proxy vyžadující ověření uživatelským jménem a heslem SOCKS5 zahrnují dokumentovaná pole konstruktoru AuthType => 'userpass', Username a Password.

Úspěšný blokující konstruktor naváže připojení SOCKS, zatímco požadavek aplikace přes vrácený socket poskytne pozdější výsledek aplikace. Pro cíl HTTPS přidejte po SOCKS ověřený TLS cíle před odesláním požadavku tohoto protokolu. Pokud jsou zapojeny přihlašovací údaje, považujte výstup ladění za citlivý.

Související články