Configurar un proxy en CurlTransport de Yii2
Seleccione CurlTransport antes de pasar CURLOPT_PROXY y las opciones de autenticación del proxy a una solicitud del cliente HTTP de Yii2.
Seleccione CurlTransport antes de pasar opciones numéricas CURLOPT. El cliente HTTP de Yii2 usa StreamTransport por defecto y no se convierte en cURL solo porque esas constantes estén 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();Use un entorno PHP con la extensión cURL. Este ejemplo espera un proxy HTTP que acepte Basic; ajuste el proxy al método que admite el transporte.
CURLOPT_PROXYAUTH elige la autenticación del intermediario. CURLOPT_HTTPAUTH y la autorización de la API atienden, en cambio, al destino.
Las opciones compartidas de solicitud de Yii2, incluidas el proxy sensible a mayúsculas y los tiempos de espera, son otra interfaz. No hacen que constantes cURL arbitrarias sean portables entre backends.
Si Client.requestConfig aporta valores predeterminados que deben sobrevivir, use addOptions para añadidos por solicitud. El setOptions mostrado reemplaza esa colección y puede eliminar opciones heredadas.