IO::Socket::Socks poate afișa schimbul SOCKS atunci când o conexiune eșuează. Furnizați explicit proxy-ul, destinația și opțiunea de depanare:

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

Modulul documentează SocksDebug ca afișare a traficului SOCKS într-o formă orientată pe protocol. Folosiți-l pentru a vedea cât de departe ajunge negocierea și pentru a inspecta un cod de eșec SOCKS returnat.

ProxyAddr și ProxyPort identifică intermediarul. O adresă neautentificată din lista de proxy SOCKS5 poate completa acele câmpuri pentru un test HTTP public permis. ConnectAddr și ConnectPort identifică serviciul la care trebuie să se conecteze. O eroare la atingerea ascultătorului și un răspuns negativ de conexiune SOCKS sunt observații diferite.

Pentru un proxy care necesită autentificare SOCKS5 cu nume de utilizator/parolă, câmpurile documentate ale constructorului includ AuthType => 'userpass', Username și Password.

Un constructor blocant reușit stabilește conexiunea SOCKS, în timp ce o cerere a aplicației prin socketul returnat oferă rezultatul ulterior al aplicației. Pentru o destinație HTTPS, adăugați TLS verificat al destinației după SOCKS înainte de a trimite cererea acelui protocol. Tratați ieșirea de depanare ca sensibilă atunci când sunt implicate acreditări.

Articole similare