IO::Socket::Socks povas presi la SOCKS-interŝanĝon kiam konekto malsukcesas. Indiku la prokurilon, la celon kaj la sencimigan opcion eksplicite:

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

La modulo dokumentas SocksDebug kiel montradon de SOCKS-trafiko en protokole orientita formo. Uzu ĝin por vidi kiom malproksimen progresas la intertraktado kaj por ekzameni redonitan SOCKS-malsukcesan kodon.

ProxyAddr kaj ProxyPort identigas la peranton. Neaŭtentikigita adreso el la listo de SOCKS5-prokuriloj povas plenigi tiujn kampojn por permesita publika HTTP-testo. ConnectAddr kaj ConnectPort identigas la servon al kiu ĝi devas konektiĝi. Eraro atingante la aŭskultanton kaj negativa SOCKS-konekta respondo estas malsamaj observoj.

Por prokurilo postulanta SOCKS5-uzantnomon/pasvorton aŭtentikigon, la dokumentitaj konstruaj kampoj inkluzivas AuthType => 'userpass', Username kaj Password.

Sukcesa blokanta konstruilo starigas la SOCKS-konekton, dum aplikada peto tra la redonita ingo liveras la postan aplikadan rezulton. Por HTTPS-celo, aldonu kontrolitan celan TLS post SOCKS antaŭ ol sendi la peton de tiu protokolo. Traktu sencimigan eligon kiel senteman kiam akreditaĵoj estas engaĝitaj.

Rilataj artikoloj