يمكن لـ 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 قبل إرسال طلب ذلك البروتوكول. تعامل مع مخرجات التصحيح بوصفها حسّاسة عند وجود بيانات اعتماد.

مقالات ذات صلة