Configurare un proxy in CurlTransport di Yii2
Selezionate CurlTransport prima di passare CURLOPT_PROXY e le opzioni di autenticazione del proxy a una richiesta del client HTTP di Yii2.
Selezionate CurlTransport prima di passare opzioni numeriche CURLOPT. Il client HTTP di Yii2 usa StreamTransport per impostazione predefinita e non diventa cURL solo perché quelle costanti sono presenti:
$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();Usate un runtime PHP con l'estensione cURL. Questo esempio prevede un proxy HTTP che accetti Basic; allineate il proxy al metodo supportato dal transport.
CURLOPT_PROXYAUTH sceglie l'autenticazione verso l'intermediario. CURLOPT_HTTPAUTH e l'autorizzazione API servono invece la destinazione.
Le opzioni di richiesta condivise di Yii2, comprese proxy sensibile alle maiuscole e timeout, sono un'altra interfaccia. Non rendono costanti cURL arbitrarie portabili tra backend.
Se Client.requestConfig fornisce valori predefiniti che devono sopravvivere, usate addOptions per aggiunte per richiesta. Il setOptions mostrato sostituisce quella raccolta e può rimuovere scelte ereditate.