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 дан автоматтык көчүрбөйт. Бош тизме обочолонгон прокси сынагына пайдалуу. Колдонмодо атайын айланып өтүү эрежелери болсо, аларды ачык сактаңыз.

Тектеш макалалар