Configurar um proxy no CurlTransport do Yii2
Selecione CurlTransport antes de passar CURLOPT_PROXY e as opções de autenticação de proxy a um pedido do cliente HTTP do Yii2.
Selecione CurlTransport antes de passar opções numéricas CURLOPT. O cliente HTTP do Yii2 usa StreamTransport por predefinição e não passa a cURL só porque essas constantes estão presentes:
$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();Utilize um ambiente PHP com a extensão cURL. Este exemplo pressupõe um proxy HTTP que aceite Basic; ajuste o proxy ao método suportado pelo transporte.
CURLOPT_PROXYAUTH escolhe a autenticação junto do intermediário. CURLOPT_HTTPAUTH e a autorização da API servem, em vez disso, o destino.
As opções de pedido partilhadas do Yii2, incluindo proxy sensível a maiúsculas e tempos limite, são outra interface. Não tornam constantes cURL arbitrárias portáveis entre backends.
Se Client.requestConfig fornecer predefinições que têm de subsistir, use addOptions para adições por pedido. O setOptions mostrado substitui essa coleção e pode remover escolhas herdadas.