Pasirinkite CurlTransport prieš perduodami skaitmenines CURLOPT parinktis. Yii2 HTTP klientas pagal numatytuosius nustatymus naudoja StreamTransport ir netampa cURL vien todėl, kad šios konstantos yra:

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

Naudokite PHP aplinką su cURL plėtiniu. Šiame pavyzdyje tikimasi HTTP tarpinio serverio, priimančio Basic; suderinkite tarpinį serverį su metodu, kurį palaiko transportas.

CURLOPT_PROXYAUTH pasirenka tarpininko autentifikavimą. CURLOPT_HTTPAUTH ir API autorizacija aptarnauja paskirties vietą.

Bendros Yii2 užklausų parinktys, įskaitant didžiosioms ir mažosioms raidėms jautrų tarpinį serverį bei laiko limitus, yra kita sąsaja. Jos nepadaro savavališkų cURL konstantų perkeliamų tarp backendų.

Jei Client.requestConfig pateikia numatytąsias reikšmes, kurios turi išlikti, naudokite addOptions papildymams kiekvienai užklausai. Rodomas setOptions pakeičia tą rinkinį ir gali pašalinti paveldėtus pasirinkimus.

Susiję straipsniai