Proxy beállítása a Yii2 CurlTransportjában
A CURLOPT_PROXY és a proxyhitelesítési beállítások átadása előtt válassza a CurlTransportot a Yii2 HTTP-ügyfélkéréshez.
A numerikus CURLOPT-beállítások átadása előtt válassza ki a CurlTransportot. A Yii2 HTTP-ügyfele alapértelmezés szerint a StreamTransportot használja, és nem lesz cURL csak attól, hogy ezek a konstansok jelen vannak:
$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();Használjon cURL-kiterjesztéssel rendelkező PHP-futtatókörnyezetet. Ez a példa Basicet elfogadó HTTP-proxyt vár; igazítsa a proxyt a transport által támogatott módszerhez.
A CURLOPT_PROXYAUTH a közvetítő felé irányuló hitelesítést választja. A CURLOPT_HTTPAUTH és az API-engedélyezés viszont a célt szolgálja.
A Yii2 közös kérésbeállításai, köztük a kis- és nagybetűérzékeny proxy és az időkorlátok, másik felületet alkotnak. Nem teszik hordozhatóvá a tetszőleges cURL-konstansokat a háttérrendszerek között.
Ha a Client.requestConfig olyan alapértékeket ad, amelyeknek meg kell maradniuk, használja a addOptions-et a kérésenkénti kiegészítésekhez. A bemutatott setOptions lecseréli ezt a gyűjteményt, és eltávolíthatja az örökölt választásokat.