Yan CurlTransport kí o tó fi àwọn àṣàyàn CURLOPT oníka ránṣẹ́. HTTP client ti Yii2 máa ń lo StreamTransport ní àkọ́kọ́, kò sì di cURL kìkì nítorí pé àwọn ìdúró yẹn wà:

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

Lo àyíká PHP tí ó ní àfikún cURL. Àpẹẹrẹ yìí retí proxy HTTP tí ó gba Basic; mú proxy bá ọ̀nà tí transport ń ṣe àtìlẹ́yìn fún.

CURLOPT_PROXYAUTH yan ìjẹ́rìí pẹ̀lú alárinà. CURLOPT_HTTPAUTH àti àṣẹ API ń ṣiṣẹ́ fún ibi tí ó ń lọ.

Àwọn àṣàyàn ìbéèrè tí Yii2 ń pín, pẹ̀lú proxy tí ó kíyèsí lẹ́tà ńlá àti kékeré àti àwọn àkókò ìdúró, jẹ́ ojú-ọ̀nà mìíràn. Wọn kò jẹ́ kí àwọn ìdúró cURL àìdábọ̀ ṣeé gbé kiri láàrin àwọn backend.

Tí Client.requestConfig bá pèsè àwọn iye àkọ́kọ́ tí ó gbọdọ̀ wà, lo addOptions fún àfikún fún ìbéèrè kọ̀ọ̀kan. setOptions tí a fihàn yóò rọ́pò àkójọ yẹn ó sì lè yọ àwọn àṣàyàn tí a jogún kúrò.

Àwọn àpilẹ̀kọ tó jọra