ಸಂಖ್ಯಾತ್ಮಕ 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 ಆ ಸಂಗ್ರಹವನ್ನು ಬದಲಿಸುತ್ತದೆ ಮತ್ತು ಆನುವಂಶಿಕ ಆಯ್ಕೆಗಳನ್ನು ತೆಗೆದುಹಾಕಬಹುದು.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು