Kies CurlTransport voordat jy numeriese CURLOPT-opsies deurgee. Yii2 se HTTP-kliënt gebruik by verstek StreamTransport en word nie cURL net omdat daardie konstantes daar is nie:

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

Gebruik 'n PHP-looptyd met sy cURL-uitbreiding. Hierdie voorbeeld verwag 'n HTTP-instaanbediener wat Basic aanvaar; pas die instaanbediener by die metode wat die transport ondersteun.

CURLOPT_PROXYAUTH kies tussenganger-verifikasie. CURLOPT_HTTPAUTH en API-verifikasie dien eerder die bestemming.

Yii2 se gedeelde versoekopsies, insluitend hooflettergevoelige instaanbediener en tydsperke, is 'n ander koppelvlak. Hulle maak nie willekeurige cURL-konstantes oor rugpunte heen oordraagbaar nie.

As Client.requestConfig verstekke verskaf wat moet bly, gebruik addOptions vir byvoegings per versoek. Die getoonde setOptions vervang daardie versameling en kan geërfde keuses verwyder.

Verwante artikels