Valitse CurlTransport ennen numeeristen CURLOPT-asetusten välittämistä. Yii2:n HTTP-asiakas käyttää oletuksena StreamTransportia eikä muutu cURLiksi vain siksi, että nämä vakiot ovat läsnä:

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

Käytä PHP-ajoympäristöä, jossa on cURL-laajennus. Tämä esimerkki odottaa HTTP-välityspalvelinta, joka hyväksyy Basicin; sovita välityspalvelin siihen menetelmään, jota siirto tukee.

CURLOPT_PROXYAUTH valitsee välittäjän todennuksen. CURLOPT_HTTPAUTH ja API-valtuutus palvelevat sen sijaan kohdetta.

Yii2:n jaetut pyyntöasetukset, mukaan lukien kirjainkoosta riippuva välityspalvelin ja aikakatkaisut, ovat toinen rajapinta. Ne eivät tee mielivaltaisista cURL-vakioista siirrettäviä taustajärjestelmien välillä.

Jos Client.requestConfig tarjoaa oletuksia, joiden on säilyttävä, käytä addOptions pyyntökohtaisiin lisäyksiin. Näytetty setOptions korvaa kyseisen kokoelman ja voi poistaa perittyjä valintoja.

Aiheeseen liittyvät artikkelit