संख्यात्मक CURLOPT विकल्प भेजने से पहले CurlTransport चुनें। Yii2 का HTTP क्लाइंट डिफ़ॉल्ट रूप से StreamTransport उपयोग करता है और केवल उन स्थिरांकों के मौजूद होने से cURL नहीं बन जाता:

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

cURL एक्सटेंशन वाला PHP रनटाइम उपयोग करें। यह उदाहरण Basic स्वीकार करने वाली HTTP प्रॉक्सी अपेक्षित करता है; प्रॉक्सी को उस विधि के अनुरूप बनाएँ जिसे ट्रांसपोर्ट समर्थित करता है।

CURLOPT_PROXYAUTH मध्यस्थ प्रमाणीकरण चुनता है। CURLOPT_HTTPAUTH और API प्राधिकरण इसके बजाय गंतव्य की सेवा करते हैं।

Yii2 के साझा अनुरोध विकल्प, जिनमें केस-संवेदी प्रॉक्सी और समय-सीमाएँ शामिल हैं, दूसरा इंटरफ़ेस हैं। वे मनमाने cURL स्थिरांकों को बैकएंड के बीच पोर्टेबल नहीं बनाते।

यदि Client.requestConfig ऐसे डिफ़ॉल्ट देता है जिन्हें बने रहना चाहिए, तो प्रति-अनुरोध जोड़ों के लिए addOptions उपयोग करें। दिखाया गया setOptions उस संग्रह को बदल देता है और विरासत में मिली पसंद हटा सकता है।

संबंधित लेख