Velg CurlTransport før du sender numeriske CURLOPT-valg. HTTP-klienten i Yii2 bruker StreamTransport som standard og blir ikke cURL bare fordi disse konstantene finnes:

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

Bruk en PHP-kjøretid med cURL-utvidelsen. Dette eksempelet forutsetter en HTTP-proxy som godtar Basic; tilpass proxyen til metoden transporten støtter.

CURLOPT_PROXYAUTH velger autentisering mot mellomleddet. CURLOPT_HTTPAUTH og API-autorisasjon tjener i stedet målet.

Yii2s delte forespørselsvalg, inkludert proxy med skille mellom store og små bokstaver og tidsavbrudd, er et annet grensesnitt. De gjør ikke vilkårlige cURL-konstanter flyttbare mellom backends.

Hvis Client.requestConfig gir standardverdier som må bestå, bruk addOptions for tillegg per forespørsel. Den viste setOptions erstatter den samlingen og kan fjerne arvede valg.

Relaterte artikler