Rəqəmsal CURLOPT seçimlərini ötürməzdən əvvəl CurlTransport seçin. Yii2 HTTP müştərisi standart olaraq StreamTransport istifadə edir və yalnız bu sabitlər mövcud olduğu üçün cURL-ə çevrilmir:

$client = new \yii\httpclient\Client([
    'transport' => \yii\httpclient\CurlTransport::class,
]);

$response = $client->createRequest()
    ->setMethod('GET')
    ->setUrl('https://api.example/items')
    ->setOptions([
        CURLOPT_PROXY => 'http://proxy.example:8080',
        CURLOPT_PROXYAUTH => CURLAUTH_BASIC,
        CURLOPT_PROXYUSERNAME => $proxyUser,
        CURLOPT_PROXYPASSWORD => $proxyPassword,
        CURLOPT_CONNECTTIMEOUT => 5,
        CURLOPT_TIMEOUT => 15,
    ])
    ->send();

cURL genişlənməsi olan PHP mühiti istifadə edin. Bu nümunə Basic qəbul edən HTTP proksisi gözləyir; proksisi transportun dəstəklədiyi üsulla uyğunlaşdırın.

CURLOPT_PROXYAUTH ara autentifikasiyanı seçir. CURLOPT_HTTPAUTH və API avtorizasiyası isə təyinat yerinə xidmət edir.

Yii2-nin ümumi sorğu seçimləri, o cümlədən hərf həssaslığı olan proksi və taym-autlar, başqa interfeysdir. Onlar ixtiyari cURL sabitlərini backend-lər arasında daşınan etmir.

Əgər Client.requestConfig qalmalı olan standartlar verirsə, sorğu üzrə əlavələr üçün addOptions istifadə edin. Göstərilən setOptions həmin kolleksiyanı əvəz edir və miras qalan seçimləri silə bilər.

Əlaqəli məqalələr