SocksDebug দিয়ে IO::Socket::Socks সংযোগ ডিবাগ করুন
তদন্তাধীন প্রক্সি ও গন্তব্যের জন্য 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 যোগ করুন। শংসাপত্র জড়িত থাকলে ডিবাগ আউটপুটকে সংবেদনশীল হিসেবে গণ্য করুন।