जडान असफल हुँदा 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 थप्नुहोस्। प्रमाणहरू संलग्न हुँदा डिबग आउटपुटलाई संवेदनशील मान्नुहोस्।

सम्बन्धित लेखहरू