IO::Socket::Socks kan die SOCKS-uitruiling druk wanneer 'n verbinding misluk. Gee die proxy, bestemming en ontfoutopsie uitdruklik:

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

Die module beskryf SocksDebug as die wys van SOCKS-verkeer in 'n protokolgeoriënteerde vorm. Gebruik dit om te sien hoe ver die onderhandeling vorder en om 'n teruggekeerde SOCKS-foutkode na te gaan.

ProxyAddr en ProxyPort identifiseer die tussenganger. 'n Adres sonder verifikasie uit die SOCKS5-proxylys kan daardie velde vul vir 'n toegelate openbare HTTP-toets. ConnectAddr en ConnectPort identifiseer die diens waaraan dit moet koppel. 'n Fout om die luisteraar te bereik en 'n negatiewe SOCKS-verbindingsantwoord is verskillende waarnemings.

Vir 'n proxy wat SOCKS5-gebruikersnaam/wagwoord-verifikasie vereis, sluit die gedokumenteerde konstruktorvelde AuthType => 'userpass', Username en Password in.

'n Suksesvolle blokkerende konstruktor stel die SOCKS-verbinding vas, terwyl 'n toepassingsversoek deur die teruggekeerde sokkel die latere toepassingsresultaat lewer. Vir 'n HTTPS-bestemming, voeg geverifieerde bestemming-TLS by ná SOCKS voordat die versoek van daardie protokol gestuur word. Behandel ontfoutuitset as sensitief wanneer geloofsbriewe betrokke is.

Verwante artikels