Agordi prokurilon en la CurlTransport de Yii2
Elektu CurlTransport antaŭ ol pasigi CURLOPT_PROXY kaj prokurajn aŭtentikigajn opciojn al peto de la HTTP-kliento de Yii2.
Elektu CurlTransport antaŭ ol pasigi nombrajn opciojn CURLOPT. La HTTP-kliento de Yii2 uzas StreamTransport defaŭlte kaj ne iĝas cURL nur ĉar tiuj konstantoj ĉeestas:
$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();Uzu PHP-medion kun la etendaĵo cURL. Ĉi tiu ekzemplo atendas HTTP-prokurilon akceptantan Basic; agordu la prokurilon laŭ la metodo, kiun subtenas la transporto.
CURLOPT_PROXYAUTH elektas aŭtentikigon ĉe la peranto. CURLOPT_HTTPAUTH kaj API-rajtigo servas anstataŭe la celon.
La komunaj petoopcioj de Yii2, inkluzive de usklecsensiva prokurilo kaj tempolimoj, estas alia interfaco. Ili ne igas arbitrajn cURL-konstantojn porteblaj inter malantaŭaj sistemoj.
Se Client.requestConfig provizas defaŭltojn, kiuj devas resti, uzu addOptions por aldonoj po peto. La montrita setOptions anstataŭigas tiun kolekton kaj povas forigi heredajn elektojn.