IO::Socket::Socks mund të printojë shkëmbimin SOCKS kur një lidhje dështon. Jepni proxy-n, destinacionin dhe opsionin e depurimit në mënyrë eksplicite:

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

Moduli dokumenton SocksDebug si shfaqje të trafikut SOCKS në një formë të orientuar nga protokolli. Përdoreni për të parë sa përparon negociimi dhe për të inspektuar një kod dështimi SOCKS të kthyer.

ProxyAddr dhe ProxyPort identifikojnë ndërmjetësin. Një adresë pa autentikim nga lista e proxy-ve SOCKS5 mund t'i plotësojë ato fusha për një test HTTP publik të lejuar. ConnectAddr dhe ConnectPort identifikojnë shërbimin me të cilin duhet të lidhet. Një gabim për të arritur dëgjuesin dhe një përgjigje negative e lidhjes SOCKS janë dy vëzhgime të ndryshme.

Për një proxy që kërkon autentikim SOCKS5 me emër përdoruesi/fjalëkalim, fushat e dokumentuara të konstruktorit përfshijnë AuthType => 'userpass', Username dhe Password.

Një konstruktor bllokues i suksesshëm vendos lidhjen SOCKS, ndërsa një kërkesë aplikacioni përmes socket-it të kthyer siguron rezultatin e mëvonshëm të aplikacionit. Për një destinacion HTTPS, shtoni TLS të verifikuar të destinacionit pas SOCKS përpara se të dërgoni kërkesën e atij protokolli. Trajtoni daljen e depurimit si të ndjeshme kur përfshihen kredenciale.

Artikuj të ngjashëm