Guzzle so‘rovi uchun proksi IP’sini belgilash
Guzzle’ning so‘rovga xos proxy parametrini, ishlovchiga bog‘liq ulanish muddati va aniq chetlab o‘tish ro‘yxatini tushuning.
Guzzle’ning proxy parametri to‘liq ulanish nuqtasi URL’ini oladi. Tanlangan IP’ni faqat shu amal ishlatishi kerak bo‘lsa, uni so‘rovga qo‘ying.
<?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();
Misol Guzzle 7 Composer orqali o‘rnatilgan deb hisoblaydi. Hujjat manzilini provayder yoki HTTP proksilar ro‘yxatidan haqiqiy HTTP proksi bilan almashtiring. Manzilni so‘rov URL’ida qoldiring: proksi vositachi, yuklanayotgan resurs emas.
Bu yerda http_errors false bo‘lgani uchun HTTP xato javobi tekshirish uchun saqlanadi. Ulanish xatolari hali ham uzatish istisnolarini chiqaradi. Shuning uchun o‘rnatishda rad etilgan HTTPS tunneli oddiy sayt javobi obyektini olishdan oldin ishlamay qolishi mumkin.
Ulanish chegaralari boshqacha ishlasa, ishlovchini tekshiring
Guzzle turli HTTP ishlovchilarini ishlatishi mumkin. Hujjatlarda ichki cURL ishlovchisi connect_timeout ni qo‘llashi aytilgan. Maxsus ishlovchi yoki PHP cURL yo‘q muhit bir xil bo‘lishi shart emas. Ko‘chirilgan vaqt cheklovi ishlayapti deb hisoblashdan oldin ilova ishlovchisini tekshiring.
Umumiy timeout ni ham belgilash foydali. Bepul ro‘yxat yozuvlari tekshiruvlar orasida javob bermay qolishi mumkin; standart qiymat tez tugashi kerak bo‘lgan so‘rovga foydali muddat emas.
Proksi xaritasidan foydalanish
Xarita manzil sxemasiga qarab yo‘nalish tanlash va proksini chetlab o‘tadigan xostlarni aniq berishga imkon beradi:
'proxy' => [
'http' => 'http://203.0.113.10:8080',
'https' => 'http://203.0.113.10:8080',
'no' => [],
],
Satr parametri o‘rniga shu massivni ishlating. HTTPS kaliti HTTPS manzillarni tanlaydi; uning HTTP qiymati hali ham proksi tinglovchisini bildiradi. Boshqa tinglovchi protokoli boshqa ulanish nuqtasi sozlamasini talab qiladi.
So‘rov proxy parametrini o‘zingiz bersangiz, Guzzle kerakli no qiymatlarini ham berishingizni kutadi; ularni NO_PROXY dan avtomatik ko‘chirmaydi. Bo‘sh ro‘yxat alohida proksi sinovi uchun foydali. Ilovada ataylab belgilangan chetlab o‘tish qoidalari bo‘lsa, ularni aniq saqlang.