कनेक्शन विफल होने पर 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 जोड़ें। जब क्रेडेंशियल शामिल हों तो डीबग आउटपुट को संवेदनशील मानें।

संबंधित लेख