സംഖ്യാപരമായ 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 ആ ശേഖരം മാറ്റിസ്ഥാപിക്കുകയും പാരമ്പര്യമായി ലഭിച്ച തിരഞ്ഞെടുപ്പുകൾ നീക്കം ചെയ്യുകയും ചെയ്യാം.

അനുബന്ധ ലേഖനങ്ങൾ