Valige CurlTransport enne arvuliste CURLOPT-valikute edastamist. Yii2 HTTP-klient kasutab vaikimisi StreamTransporti ega muutu cURL-iks ainult seetõttu, et need konstandid on olemas:

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

Kasutage PHP keskkonda, milles on cURL-i laiendus. See näide eeldab HTTP-puhverserverit, mis aktsepteerib Basicut; sobitage puhverserver meetodiga, mida transport toetab.

CURLOPT_PROXYAUTH valib vahendaja autentimise. CURLOPT_HTTPAUTH ja API autoriseerimine teenindavad seevastu sihtkohta.

Yii2 ühised päringuvalikud, sealhulgas tõstutundlik puhverserver ja ajapiirangud, on teine liides. Need ei muuda suvalisi cURL-konstante backendide vahel kaasaskantavaks.

Kui Client.requestConfig annab vaikeväärtused, mis peavad püsima, kasutage päringupõhiste lisanduste jaoks addOptions. Näidatud setOptions asendab selle kogumi ja võib eemaldada päritud valikud.

Seotud artiklid