Configurarea unui proxy în CurlTransport din Yii2
Selectați CurlTransport înainte de a transmite CURLOPT_PROXY și opțiunile de autentificare a proxy-ului către o cerere a clientului HTTP din Yii2.
Selectați CurlTransport înainte de a transmite opțiuni numerice CURLOPT. Clientul HTTP din Yii2 folosește implicit StreamTransport și nu devine cURL doar pentru că aceste constante sunt prezente:
$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();Folosiți un mediu PHP cu extensia cURL. Acest exemplu presupune un proxy HTTP care acceptă Basic; aliniați proxy-ul la metoda suportată de transport.
CURLOPT_PROXYAUTH alege autentificarea la intermediar. CURLOPT_HTTPAUTH și autorizarea API deservesc în schimb destinația.
Opțiunile de cerere partajate din Yii2, inclusiv proxy-ul sensibil la majuscule și limitele de timp, sunt o altă interfață. Ele nu fac constantele cURL arbitrare portabile între backend-uri.
Dacă Client.requestConfig oferă valori implicite care trebuie să rămână, folosiți addOptions pentru adăugiri pe cerere. setOptions prezentat înlocuiește acea colecție și poate elimina alegerile moștenite.