SOCKS প্রক্সির জন্য Guzzle-এর cURL হ্যান্ডলার নির্বাচন
শুধু HTTP স্ট্রিম সমর্থনকারী হ্যান্ডলার প্রক্সি URL থেকে SOCKS নেগোশিয়েশন পেতে পারে না; প্রকৃত PHP রানটাইমে সমর্থক ট্রান্সপোর্ট বেছে নিন।
Guzzle ক্লায়েন্টের হ্যান্ডলার সচেতনভাবে বাছাই করলে, cURL-ভিত্তিক স্ট্যাক SOCKS ব্যবহার করতে পারে:
$stack = \GuzzleHttp\HandlerStack::create(
new \GuzzleHttp\Handler\CurlHandler()
);
$client = new \GuzzleHttp\Client([
'handler' => $stack,
'proxy' => 'socks5h://proxy.example.net:1080',
]);socks5h প্রক্সিকে গন্তব্য নাম রিজলভ করতে বলে। Guzzle এন্ডপয়েন্টটি libcurl-এ পাঠায়, তাই লোড করা libcurl বিল্ডকে সেই প্রোটোকল সমর্থন করতে হবে। SOCKS5 প্রক্সি তালিকা ক্লায়েন্ট প্রক্সি URL-এর জন্য পাবলিক এন্ডপয়েন্ট প্রার্থী যোগায়।
অ্যাপ্লিকেশনের ইতিমধ্যে একটি হ্যান্ডলার স্ট্যাক থাকলে, তা প্রতিস্থাপন করে মিডলওয়্যার হারানোর আগে তার অন্তর্নিহিত ট্রান্সপোর্ট পরীক্ষা করুন। শুধু PHP HTTP স্ট্রিমে সীমাবদ্ধ হ্যান্ডলার কেবল ক্লায়েন্ট এই অপশন পাওয়ার কারণে SOCKS বাস্তবায়ন করতে পারে না।
অনুরোধ করা প্রক্রিয়াটি পরীক্ষা করুন। CLI PHP এবং PHP-FPM ভিন্ন কনফিগারেশন ফাইল ও এক্সটেনশন লোড করতে পারে; একটিতে cURL থাকা অন্যটিতে তার প্রাপ্যতা প্রমাণ করে না।