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();

Օրինակը ենթադրում է Composer-ով տեղադրված Guzzle 7։ Փաստաթղթային հասցեն փոխարինեք մատակարարի կամ 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-ից ինքնաբերաբար պատճենելու փոխարեն։ Դատարկ ցանկը օգտակար է մեկուսացված պրոքսի փորձարկման համար։ Եթե ծրագիրն ունի դիտավորյալ շրջանցման կանոններ, պահեք դրանք բացահայտ։

Առնչվող հոդվածներ