IO::Socket::Socks može ispisati SOCKS razmjenu kada veza ne uspije. Eksplicitno navedite proxy, odredište i opciju za otklanjanje grešaka:

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

Modul dokumentira SocksDebug kao prikaz SOCKS saobraćaja u obliku orijentiranom na protokol. Koristite ga da vidite dokle je pregovaranje stiglo i da provjerite vraćeni kod SOCKS greške.

ProxyAddr i ProxyPort identificiraju posrednika. Neautentificirana adresa s liste SOCKS5 proxyja može popuniti ta polja za dopušteni javni HTTP test. ConnectAddr i ConnectPort identificiraju uslugu s kojom se treba povezati. Greška pri dolasku do slušača i negativan odgovor SOCKS veze dvije su različite opservacije.

Za proxy koji zahtijeva SOCKS5 autentifikaciju korisničkim imenom i lozinkom, dokumentirana polja konstruktora uključuju AuthType => 'userpass', Username i Password.

Uspješni blokirajući konstruktor uspostavlja SOCKS vezu, dok zahtjev aplikacije kroz vraćeni socket daje kasniji rezultat aplikacije. Za HTTPS odredište dodajte provjereni TLS odredišta nakon SOCKS-a prije slanja zahtjeva tog protokola. Tretirajte debug izlaz kao osjetljiv kada su uključeni akreditivi.

Povezani članci