Guzzle کی proxy آپشن مکمل اختتامی مقام URL لیتی ہے۔ اسے درخواست پر مقرر کریں جب صرف وہ کارروائی منتخب IP استعمال کرے۔

<?php
require __DIR__ . '/vendor/autoload.php';

$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://example.com/', [
    'proxy' => 'http://203.0.113.10:8080',
    'connect_timeout' => 5,
    'timeout' => 15,
    'http_errors' => false,
]);

echo $response->getStatusCode(), PHP_EOL;
echo (string) $response->getBody();

مثال فرض کرتی ہے کہ Guzzle 7 بذریعہ Composer نصب ہے۔ دستاویزی پتہ فراہم کنندہ یا HTTP پراکسی فہرست کی حقیقی HTTP پراکسی سے بدلیں۔ منزل درخواست کے URL میں رکھیں؛ پراکسی واسطہ ہے، ڈاؤن لوڈ ہونے والا وسیلہ نہیں۔

یہاں http_errors false ہے تاکہ HTTP خرابی کا جواب جانچنے کے لیے دستیاب رہے۔ رابطے کی ناکامیاں اب بھی منتقلی کی استثنائیں پھینکتی ہیں۔ اس لیے بناتے وقت رد ہونے والی HTTPS ٹنل عام ویب سائٹ جواب کا آبجیکٹ ملنے سے پہلے ناکام ہو سکتی ہے۔

رابطے کی حدود مختلف ہوں تو ہینڈلر دیکھیں

Guzzle مختلف HTTP ہینڈلر استعمال کر سکتا ہے۔ دستاویز کے مطابق اندرونی cURL ہینڈلر connect_timeout کی معاونت کرتا ہے۔ حسب ضرورت ہینڈلر یا PHP cURL کے بغیر ماحول لازماً مساوی نہیں۔ نقل کردہ مہلت آپشن کے اثر کرنے کا مفروضہ قائم کرنے سے پہلے ایپ کا ہینڈلر دیکھیں۔

مجموعی timeout بھی مقرر کرنا مفید ہے۔ مفت فہرست کے اندراجات دو جانچوں کے بیچ جواب دینا بند کر سکتے ہیں، اور طے شدہ قدر جلد ختم ہونے والی درخواست کی مفید آخری حد نہیں۔

پراکسی نقشہ استعمال کرنا

نقشہ منزل کی اسکیم کے مطابق راستے منتخب کرنے اور پراکسی سے بچنے والے میزبان واضح دینے دیتا ہے:

'proxy' => [
    'http' => 'http://203.0.113.10:8080',
    'https' => 'http://203.0.113.10:8080',
    'no' => [],
],

اس اَرے کو سٹرنگ آپشن کی جگہ استعمال کریں۔ HTTPS کلید HTTPS منزلیں منتخب کرتی ہے؛ اس کی HTTP قدر اب بھی پراکسی کے سننے والے سروس مقام کو بیان کرتی ہے۔ سننے کا الگ پروٹوکول الگ اختتامی ترتیب چاہتا ہے۔

درخواست کی proxy آپشن خود دیں تو Guzzle مطلوبہ no قدریں بھی آپ سے چاہتا ہے، نہ کہ انہیں NO_PROXY سے خود نقل کرے۔ خالی فہرست الگ تھلگ پراکسی ٹیسٹ کے لیے مفید ہے۔ ایپ میں بائی پاس کے ارادی قواعد ہوں تو انہیں واضح طور پر محفوظ رکھیں۔

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