Fejlret IO::Socket::Socks-forbindelser med SocksDebug
Aktivér håndtryksdiagnostik for IO::Socket::Socks for den proxy og destination, der undersøges.
IO::Socket::Socks kan udskrive SOCKS-udvekslingen, når en forbindelse mislykkes. Angiv proxyen, destinationen og fejlretningsindstillingen eksplicit:
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();Modulet dokumenterer SocksDebug som visning af SOCKS-trafik i en protokolorienteret form. Brug den til at se, hvor langt forhandlingen er kommet, og til at undersøge en returneret SOCKS-fejlkode.
ProxyAddr og ProxyPort identificerer mellemleddet. En uautentificeret adresse fra SOCKS5-proxylisten kan udfylde disse felter til en tilladt offentlig HTTP-test. ConnectAddr og ConnectPort identificerer den tjeneste, den skal forbinde til. En fejl ved at nå lytteren og et negativt SOCKS-forbindelsessvar er to forskellige observationer.
For en proxy, der kræver SOCKS5-brugernavn/adgangskode-godkendelse, omfatter de dokumenterede konstruktørfelter AuthType => 'userpass', Username og Password.
En vellykket blokerende konstruktør etablerer SOCKS-forbindelsen, mens en applikationsanmodning gennem den returnerede socket leverer det senere applikationsresultat. For en HTTPS-destination skal du tilføje verificeret destinations-TLS efter SOCKS, før du sender den pågældende protokols anmodning. Behandl fejlretningsoutput som følsomt, når der indgår legitimationsoplysninger.