Gall IO::Socket::Socks argraffu'r gyfnewidfa SOCKS pan fydd cysylltiad yn methu. Rhowch y proesi, y cyrchfan a'r opsiwn dadfygio yn benodol:

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

Mae'r modiwl yn dogfennu SocksDebug fel un sy'n dangos traffig SOCKS ar ffurf sy'n canolbwyntio ar brotocol. Defnyddiwch ef i weld pa mor bell y mae'r trafodaethau'n mynd a i archwilio cod methiant SOCKS a ddychwelwyd.

Mae ProxyAddr a ProxyPort yn nodi'r cyfryngwr. Gall cyfeiriad heb ei ddilysu o'r rhestr proesi SOCKS5 lenwi'r meysydd hynny ar gyfer prawf HTTP cyhoeddus a ganiateir. Mae ConnectAddr a ConnectPort yn nodi'r gwasanaeth y dylai gysylltu ag ef. Mae gwall wrth gyrraedd y gwrandawr ac ateb cysylltiad SOCKS negyddol yn arsylwadau gwahanol.

Ar gyfer proesi sy'n gofyn am ddilysu enw defnyddiwr/cyfrinair SOCKS5, mae meysydd dogfennedig y constructor yn cynnwys AuthType => 'userpass', Username a Password.

Mae constructor blocio llwyddiannus yn sefydlu'r cysylltiad SOCKS, tra bod cais cymhwysiad drwy'r soced a ddychwelwyd yn darparu canlyniad diweddarach y cymhwysiad. Ar gyfer cyrchfan HTTPS, ychwanegwch TLS cyrchfan wedi'i wirio ar ôl SOCKS cyn anfon cais y protocol hwnnw. Trin allbwn dadfygio fel un sensitif pan fydd manylion mewngofnodi yn y broses.

Erthyglau cysylltiedig