IO::Socket::Socks միացումների վրիպազերծում SocksDebug-ով
Միացրեք IO::Socket::Socks-ի ձեռքսեղմման ախտորոշումը հետազոտվող պրոքսիի և նպատակակետի համար։
IO::Socket::Socks-ը կարող է տպել SOCKS փոխանակումը, երբ միացումը ձախողվում է։ Նշեք պրոքսին, նպատակակետը և վրիպազերծման տարբերակը բացահայտ՝
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();Մոդուլը SocksDebug-ը նկարագրում է որպես SOCKS երթևեկությունը պրոտոկոլային ձևով ցուցադրող միջոց։ Օգտագործեք այն՝ տեսնելու, թե որքան առաջ է գնացել բանակցությունը, և ստուգելու վերադարձված SOCKS ձախողման կոդը։
ProxyAddr-ը և ProxyPort-ը նշում են միջնորդին։ SOCKS5 պրոքսիների ցանկից չհաստատված հասցեն կարող է լրացնել այդ դաշտերը թույլատրված հանրային HTTP թեստի համար։ ConnectAddr-ը և ConnectPort-ը նշում են այն ծառայությունը, որին պետք է միանալ։ Լսողին հասնելու սխալը և SOCKS միացման բացասական պատասխանը տարբեր դիտարկումներ են։
SOCKS5 օգտանուն/գաղտնաբառ նույնականացում պահանջող պրոքսիի համար փաստաթղթավորված կոնստրուկտորի դաշտերը ներառում են AuthType => 'userpass', Username և Password։
Հաջող արգելափակող կոնստրուկտորը հաստատում է SOCKS միացումը, մինչդեռ վերադարձված սոքեթով հավելվածի հարցումը տալիս է ավելի ուշ հավելվածի արդյունքը։ HTTPS նպատակակետի համար SOCKS-ից հետո ավելացրեք նպատակակետի ստուգված TLS՝ նախքան այդ պրոտոկոլի հարցումն ուղարկելը։ Երբ ներգրավված են հավատարմագրեր, վրիպազերծման ելքը դիտարկեք որպես զգայուն։