Konfigurera en proxy i Yii2:s CurlTransport
Välj CurlTransport innan du skickar CURLOPT_PROXY och proxyautentiseringsalternativ till en HTTP-klientförfrågan i Yii2.
Välj CurlTransport innan du skickar numeriska CURLOPT-alternativ. Yii2:s HTTP-klient använder StreamTransport som standard och blir inte cURL bara för att dessa konstanter finns:
$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();Använd en PHP-runtime med cURL-tillägget. Det här exemplet förutsätter en HTTP-proxy som accepterar Basic; anpassa proxyn till den metod som transporten stöder.
CURLOPT_PROXYAUTH väljer autentisering mot mellanhanden. CURLOPT_HTTPAUTH och API-auktorisering tjänar i stället målet.
Yii2:s delade förfrågningsalternativ, inklusive skiftlägeskänslig proxy och tidsgränser, är ett annat gränssnitt. De gör inte godtyckliga cURL-konstanter flyttbara mellan backends.
Om Client.requestConfig tillhandahåller standardvärden som måste bestå, använd addOptions för tillägg per förfrågan. Den visade setOptions ersätter den samlingen och kan ta bort ärvda val.