د 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 یې په خپله نقل کړي. تش لېست د جلا پراکسي ازموینې لپاره ګټور دی. که اپلېکېشن قصدي بای‌پاس اصول لري، هغه په څرګنده وساتئ.

اړوندې مقالې