Pilih CurlTransport sebelum menyerahkan pilihan CURLOPT berangka. Klien HTTP Yii2 menggunakan StreamTransport secara lalai dan tidak menjadi cURL semata-mata kerana pemalar itu hadir:

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

Gunakan runtime PHP dengan sambungan cURL. Contoh ini menjangka proksi HTTP yang menerima Basic; padankan proksi dengan kaedah yang disokong pengangkutan.

CURLOPT_PROXYAUTH memilih pengesahan perantara. CURLOPT_HTTPAUTH dan kebenaran API pula melayani destinasi.

Pilihan permintaan kongsi Yii2, termasuk proksi peka huruf besar-kecil dan had masa, ialah antara muka lain. Ia tidak menjadikan pemalar cURL sewenang-wenangnya mudah alih antara backend.

Jika Client.requestConfig menyediakan nilai lalai yang mesti kekal, gunakan addOptions untuk tambahan setiap permintaan. setOptions yang ditunjukkan menggantikan koleksi itu dan boleh membuang pilihan warisan.

Artikel berkaitan