Een proxy configureren in de CurlTransport van Yii2
Kies CurlTransport voordat u CURLOPT_PROXY en proxy-authenticatieopties doorgeeft aan een HTTP-clientverzoek van Yii2.
Kies CurlTransport voordat u numerieke CURLOPT-opties doorgeeft. De HTTP-client van Yii2 gebruikt standaard StreamTransport en wordt niet cURL alleen omdat die constanten aanwezig zijn:
$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 een PHP-runtime met de cURL-extensie. Dit voorbeeld verwacht een HTTP-proxy die Basic accepteert; stem de proxy af op de methode die het transport ondersteunt.
CURLOPT_PROXYAUTH kiest authenticatie bij de tussenpartij. CURLOPT_HTTPAUTH en API-autorisatie dienen in plaats daarvan de bestemming.
De gedeelde verzoekopties van Yii2, waaronder hoofdlettergevoelige proxy en time-outs, zijn een andere interface. Ze maken willekeurige cURL-constanten niet overdraagbaar tussen backends.
Als Client.requestConfig standaardwaarden levert die moeten blijven, gebruik dan addOptions voor toevoegingen per verzoek. De getoonde setOptions vervangt die verzameling en kan geërfde keuzes verwijderen.