IO::Socket::Socks kin de SOCKS-útwikseling printsje as in ferbining mislearret. Jou de proxy, de bestimming en de debug-opsje eksplisyt:

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

De module dokumintearret SocksDebug as it werjaan fan SOCKS-ferkear yn in protokol-rjochte foarm. Brûk it om te sjen hoe fier't de ûnderhanneling komt en om in weromjûn SOCKS-mislearringskoada te ûndersykjen.

ProxyAddr en ProxyPort identifisearje de tuskenpersoan. In net-autentisearre adres út de SOCKS5-proxylist kin dy fjilden folje foar in tastiene iepenbiere HTTP-test. ConnectAddr en ConnectPort identifisearje de tsjinst dêr't it mei ferbine moat. In flater by it berikken fan de listener en in negatyf SOCKS-ferbiningsantwurd binne ferskate waarnimmingen.

Foar in proxy dy't SOCKS5-brûkersnamme/wachtwurd-autentikaasje freget, omfetsje de dokumintearre konstruktorfjilden AuthType => 'userpass', Username en Password.

In slagge blokkearjende konstruktor lûkt de SOCKS-ferbining op, wylst in applikaasje-oanfraach fia de weromjûne socket it lettere applikaasjerêsultaat leveret. Foar in HTTPS-bestimming foegje nei SOCKS in ferifiearre bestimmings-TLS ta foardat de oanfraach fan dat protokol ferstjoerd wurdt. Behannelje debug-útfier as gefoelich as der bewiisstikken by belutsen binne.

Relatearre artikelen