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 សូម បន្ថែម TLS គោលដៅដែលបានផ្ទៀងផ្ទាត់បន្ទាប់ពី SOCKS មុននឹងផ្ញើសំណើរបស់ពិធីការនោះ។ ចាត់ទុកលទ្ធផលបំបាត់កំហុសជាទិន្នន័យរសើបនៅពេលមានព័ត៌មានសម្គាល់អត្តសញ្ញាណ។

អត្ថបទពាក់ព័ន្ធ