جب آپ 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 کا ہونا دوسرے میں اس کی دستیابی ثابت نہیں کرتا۔

متعلقہ مضامین