Wybierz CurlTransport, zanim przekażesz numeryczne opcje CURLOPT. Klient HTTP Yii2 domyślnie korzysta ze StreamTransport i nie staje się cURL tylko dlatego, że te stałe są obecne:

$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();

Użyj środowiska PHP z rozszerzeniem cURL. Ten przykład zakłada proxy HTTP akceptujące Basic; dopasuj proxy do metody obsługiwanej przez transport.

CURLOPT_PROXYAUTH wybiera uwierzytelnianie pośrednika. CURLOPT_HTTPAUTH i autoryzacja API obsługują natomiast cel.

Wspólne opcje żądań Yii2, w tym proxy rozróżniające wielkość liter i limity czasu, to inny interfejs. Nie czynią dowolnych stałych cURL przenośnymi między backendami.

Jeśli Client.requestConfig dostarcza wartości domyślne, które muszą przetrwać, użyj addOptions do dodatków na żądanie. Przedstawione setOptions zastępuje tę kolekcję i może usunąć odziedziczone wybory.

Powiązane artykuły