Guzzle-ın proxy seçimi tam son nöqtə URL-i qəbul edir. Yalnız həmin əməliyyat seçilən IP-ni işlətməlidirsə, onu sorğuda təyin edin.

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

Nümunə Guzzle 7-nin Composer vasitəsilə quraşdırıldığını fərz edir. Sənəd ünvanını provayderdən və ya HTTP proksi siyahısından həqiqi HTTP proksi ilə əvəz edin. Hədəfi sorğunun URL-ində saxlayın: proksi vasitəçidir, endirilən resurs deyil.

Burada http_errors false-dur ki, HTTP xəta cavabı araşdırma üçün qalsın. Bağlantı uğursuzluqları hələ də ötürmə istisnaları yaradır. Buna görə qurularkən rədd edilən HTTPS tuneli adi sayt cavabı obyektini almadan uğursuz ola bilər.

Bağlantı hədləri fərqli işləyəndə emalçını yoxlayın

Guzzle fərqli HTTP emalçıları istifadə edə bilər. Sənədləri daxili cURL emalçısının connect_timeout dəstəklədiyini bildirir. Xüsusi emalçı və ya PHP cURL olmayan mühit mütləq ekvivalent deyil. Köçürülmüş vaxt həddi seçiminin işlədiyini fərz etməzdən əvvəl tətbiqin emalçısını yoxlayın.

Ümumi timeout də təyin etməyə dəyər. Pulsuz siyahı qeydləri yoxlamalar arasında cavabı dayandıra bilər və standart dəyər tez bitməli sorğu üçün faydalı son müddət deyil.

Proksi xəritəsindən istifadə

Xəritə hədəf sxeminə görə marşrut seçməyə və yan keçiləcək hostları açıq verməyə imkan yaradır:

'proxy' => [
    'http' => 'http://203.0.113.10:8080',
    'https' => 'http://203.0.113.10:8080',
    'no' => [],
],

Sətir seçimi yerinə bu massivi işlədin. HTTPS açarı HTTPS hədəflərini seçir; HTTP dəyəri yenə proksi dinləyicisini təsvir edir. Fərqli dinləyici protokolu fərqli son nöqtə konfiqurasiyası tələb edir.

Sorğunun proxy seçimini özünüz verdikdə Guzzle istənən no dəyərlərini də sizdən gözləyir, onları NO_PROXY-dən avtomatik köçürmür. Boş siyahı təcrid edilmiş proksi sınağına yararlıdır. Tətbiqdə məqsədli yan keçmə qaydaları varsa, onları açıq saxlayın.

Əlaqəli məqalələr