IO::Socket::Socks saab ühenduse ebaõnnestumisel SOCKS-vahetuse välja trükkida. Anna puhverserver, sihtkoht ja silumisvalik selgesõnaliselt:

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

Moodul kirjeldab SocksDebugi kui SOCKS-liikluse näitamist protokollipõhises vormis. Kasuta seda, et näha, kui kaugele läbirääkimine jõuab, ja tagastatud SOCKS-tõrke koodi uurida.

ProxyAddr ja ProxyPort määravad vahendaja. SOCKS5 puhverserverite loendist pärinev autentimata aadress võib need väljad lubatud avaliku HTTP-testi jaoks täita. ConnectAddr ja ConnectPort määravad teenuse, millega ühenduda. Viga kuulaja juurde jõudmisel ja SOCKS-ühenduse eitav vastus on erinevad tähelepanekud.

Puhverserveri puhul, mis nõuab SOCKS5 kasutajanime/parooli autentimist, sisaldavad dokumenteeritud konstruktori väljad AuthType => 'userpass', Username ja Password.

Edukas blokeeriv konstruktor loob SOCKS-ühenduse, samas kui rakenduse päring tagastatud sokli kaudu annab hilisema rakenduse tulemuse. HTTPS-sihtkoha jaoks lisa pärast SOCKS-i kontrollitud sihtkoha TLS enne selle protokolli päringu saatmist. Kui mängus on volitused, käsitle silumisväljundit tundlikuna.

Seotud artiklid