Otklanjanje grešaka u IO::Socket::Socks vezama 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 razmenu kada veza ne uspe. 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 dokumentuje SocksDebug kao prikaz SOCKS saobraćaja u obliku orijentisanom na protokol. Koristite ga da vidite dokle je pregovaranje stiglo i da proverite vraćeni kod SOCKS greške.
ProxyAddr i ProxyPort identifikuju posrednika. Neautentifikovana adresa sa liste SOCKS5 proxyja može popuniti ta polja za dozvoljeni javni HTTP test. ConnectAddr i ConnectPort identifikuju uslugu sa kojom treba da se poveže. Greška pri dolasku do slušaoca i negativan odgovor SOCKS veze dve su različite opservacije.
Za proxy koji zahteva SOCKS5 autentifikaciju korisničkim imenom i lozinkom, dokumentovana polja konstruktora uključuju AuthType => 'userpass', Username i Password.
Uspešni blokirajući konstruktor uspostavlja SOCKS vezu, dok zahtev aplikacije kroz vraćeni socket daje kasniji rezultat aplikacije. Za HTTPS odredište dodajte provereni TLS odredišta nakon SOCKS-a pre slanja zahteva tog protokola. Tretirajte debug izlaz kao osetljiv kada su uključeni akreditivi.