IO::Socket::Socks var izdrukāt SOCKS apmaiņu, kad savienojums neizdodas. Norādiet starpniekserveri, galamērķi un atkļūdošanas opciju skaidri:

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

Modulis dokumentē SocksDebug kā SOCKS datplūsmas attēlošanu protokolam orientētā formā. Izmantojiet to, lai redzētu, cik tālu ir pavirzījušās sarunas, un pārbaudītu atgriezto SOCKS kļūdas kodu.

ProxyAddr un ProxyPort identificē starpnieku. Neautentificēta adrese no SOCKS5 starpniekserveru saraksta var aizpildīt šos laukus atļautam publiskam HTTP testam. ConnectAddr un ConnectPort identificē pakalpojumu, ar kuru jāsavienojas. Kļūda, sasniedzot klausītāju, un negatīva SOCKS savienojuma atbilde ir divi dažādi novērojumi.

Starpniekserverim, kas prasa SOCKS5 lietotājvārda/paroles autentifikāciju, dokumentētie konstruktora lauki ietver AuthType => 'userpass', Username un Password.

Veiksmīgs bloķējošs konstruktors izveido SOCKS savienojumu, bet lietojumprogrammas pieprasījums caur atgriezto ligzdu sniedz vēlāko lietojumprogrammas rezultātu. HTTPS galamērķim pievienojiet pēc SOCKS pārbaudītu galamērķa TLS, pirms sūtāt šī protokola pieprasījumu. Uzskatiet atkļūdošanas izvadi par sensitīvu, ja tiek iesaistīti akreditācijas dati.

Saistītie raksti