Configurer un proxy dans CurlTransport de Yii2
Sélectionnez CurlTransport avant de transmettre CURLOPT_PROXY et les options d'authentification du proxy à une requête du client HTTP de Yii2.
Sélectionnez CurlTransport avant de transmettre des options numériques CURLOPT. Le client HTTP de Yii2 utilise StreamTransport par défaut et ne devient pas cURL simplement parce que ces constantes sont présentes :
$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();Utilisez une exécution PHP disposant de l'extension cURL. Cet exemple attend un proxy HTTP acceptant Basic ; adaptez le proxy à la méthode prise en charge par le transport.
CURLOPT_PROXYAUTH choisit l'authentification auprès de l'intermédiaire. CURLOPT_HTTPAUTH et l'autorisation de l'API servent quant à elles la destination.
Les options de requête partagées de Yii2, dont le proxy sensible à la casse et les délais, constituent une autre interface. Elles ne rendent pas des constantes cURL arbitraires portables d'un backend à l'autre.
Si Client.requestConfig fournit des valeurs par défaut qui doivent survivre, utilisez addOptions pour des ajouts par requête. Le setOptions montré remplace cette collection et peut supprimer des choix hérités.