Az IO::Socket::Socks ki tudja írni a SOCKS-cserét, amikor egy kapcsolat meghiúsul. Adja meg kifejezetten a proxyt, a célt és a hibakeresési beállítást:

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

A modul a SocksDebugnál leírja, hogy a SOCKS-forgalmat protokolorientált formában jeleníti meg. Használja arra, hogy lássa, meddig jut a tárgyalás, és hogy megvizsgáljon egy visszakapott SOCKS-hibakódot.

A ProxyAddr és a ProxyPort azonosítja a közvetítőt. A SOCKS5 proxyk listájából származó hitelesítés nélküli cím kitöltheti ezeket a mezőket egy engedélyezett nyilvános HTTP-teszthez. A ConnectAddr és a ConnectPort azonosítja a szolgáltatást, amelyhez kapcsolódnia kell. A figyelő elérésének hibája és a negatív SOCKS-kapcsolati válasz két különböző megfigyelés.

Az SOCKS5 felhasználónév/jelszó hitelesítést megkövetelő proxy esetében a dokumentált konstruktormezők közé tartozik a AuthType => 'userpass', a Username és a Password.

A sikeres blokkoló konstruktor létrehozza a SOCKS-kapcsolatot, míg a visszakapott socketen keresztüli alkalmazáskérés szolgáltatja a későbbi alkalmazáseredményt. HTTPS-cél esetén a SOCKS után adjon hozzá ellenőrzött cél-TLS-t, mielőtt elküldi az adott protokoll kérését. Ha hitelesítő adatok vannak a folyamatban, kezelje bizalmasan a hibakeresési kimenetet.

Kapcsolódó cikkek