Otklanjanje pogrešaka u vezama IO::Socket::Socks pomoću SocksDebug
Omogućite dijagnostiku rukovanja IO::Socket::Socks za proxy i odredište koje istražujete.
IO::Socket::Socks može ispisati SOCKS razmjenu kada veza ne uspije. Eksplicitno navedite proxy, odredište i opciju otklanjanja pogreš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 prometa u obliku orijentiranom na protokol. Upotrijebite ga da vidite dokle je pregovaranje stiglo i da provjerite vraćeni kôd SOCKS pogreške.
ProxyAddr i ProxyPort identificiraju posrednika. Neautentificirana adresa s popisa SOCKS5 proxyja može popuniti ta polja za dopušteni javni HTTP test. ConnectAddr i ConnectPort identificiraju uslugu s kojom se treba povezati. Pogreš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 izlaz otklanjanja pogrešaka kao osjetljiv kada su uključeni vjerodajnice.