Configurar un proxy no CurlTransport de Yii2
Seleccione CurlTransport antes de pasar CURLOPT_PROXY e as opcións de autenticación do proxy a unha solicitude do cliente HTTP de Yii2.
Seleccione CurlTransport antes de pasar opcións numéricas CURLOPT. O cliente HTTP de Yii2 usa StreamTransport por defecto e non se converte en cURL só porque esas constantes estean 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 unha contorna PHP coa extensión cURL. Este exemplo espera un proxy HTTP que acepte Basic; axuste o proxy ao método que admite o transporte.
CURLOPT_PROXYAUTH escolle a autenticación do intermediario. CURLOPT_HTTPAUTH e a autorización da API atenden, en cambio, o destino.
As opcións compartidas de solicitude de Yii2, incluído o proxy sensible a maiúsculas e os tempos de espera, son outra interface. Non fan que constantes cURL arbitrarias sexan portables entre backends.
Se Client.requestConfig fornece valores predeterminados que deben sobrevivir, use addOptions para engadidos por solicitude. O setOptions mostrado substitúe esa colección e pode eliminar opcións herdadas.