Поставете прокси IP за барање Guzzle
Користете ја proxy опцијата по барање во Guzzle и разберете го временското ограничување зависно од обработувачот и експлицитниот список за заобиколување.
Опцијата proxy во Guzzle прифаќа целосен 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. Празен список е корисен за изолиран прокси-тест. Ако апликацијата има намерни правила за заобиколување, зачувајте ги експлицитно.