Před předáním číselných voleb CURLOPT vyberte CurlTransport. HTTP klient Yii2 ve výchozím nastavení používá StreamTransport a nestane se cURL jen proto, že jsou tyto konstanty přítomny:

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

Použijte runtime PHP s rozšířením cURL. Tento příklad očekává HTTP proxy přijímající Basic; slaďte proxy s metodou, kterou transport podporuje.

CURLOPT_PROXYAUTH volí ověřování zprostředkovatele. CURLOPT_HTTPAUTH a autorizace API naopak obsluhují cílový server.

Sdílené volby požadavků Yii2, včetně proxy citlivého na velikost písmen a časových limitů, jsou jiné rozhraní. Nedělají z libovolných konstant cURL přenositelné hodnoty mezi backendy.

Pokud Client.requestConfig poskytuje výchozí hodnoty, které musí zůstat, použijte addOptions pro doplňky u jednotlivých požadavků. Zobrazený setOptions tuto kolekci nahrazuje a může odstranit zděděné volby.

Související články