IO::Socket::Socks gali atspausdinti SOCKS mainus, kai ryšys nepavyksta. Nurodykite proxy, paskirties tašką ir derinimo parinktį aiškiai:

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

Modulis dokumentuoja SocksDebug kaip SOCKS srauto rodymą protokolu orientuota forma. Naudokite jį, kad pamatytumėte, kiek toli pažengė derybos, ir patikrintumėte grąžintą SOCKS gedimo kodą.

ProxyAddr ir ProxyPort nurodo tarpininką. Neautentifikuotas adresas iš SOCKS5 proxy sąrašo gali užpildyti šiuos laukus leidžiamam viešam HTTP testui. ConnectAddr ir ConnectPort nurodo paslaugą, prie kurios reikia prisijungti. Klaida pasiekiant klausytoją ir neigiamas SOCKS ryšio atsakymas yra du skirtingi stebėjimai.

Proksiui, reikalaujančiam SOCKS5 vartotojo vardo/slaptažodžio autentifikavimo, dokumentuoti konstruktoriaus laukai apima AuthType => 'userpass', Username ir Password.

Sėkmingas blokuojantis konstruktorius nustato SOCKS ryšį, o programos užklausa per grąžintą lizdą pateikia vėlesnį programos rezultatą. HTTPS paskirties taškui po SOCKS pridėkite patikrintą paskirties TLS prieš siųsdami to protokolo užklausą. Kai dalyvauja prisijungimo duomenys, derinimo išvestį laikykite slapta.

Susiję straipsniai