Yii2 ର CurlTransport ରେ ପ୍ରକ୍ସି କନଫିଗର କରନ୍ତୁ
Yii2 HTTP କ୍ଲାଏଣ୍ଟ ଅନୁରୋଧକୁ CURLOPT_PROXY ଏବଂ ପ୍ରକ୍ସି ପ୍ରମାଣୀକରଣ ବିକଳ୍ପ ପଠାଇବା ପୂର୍ବରୁ CurlTransport ଚୟନ କରନ୍ତୁ।
ସଂଖ୍ୟାତ୍ମକ 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 ସେହି ସଂଗ୍ରହକୁ ବଦଳାଏ ଏବଂ ଉତ୍ତରାଧିକାରୀ ଚୟନ ହଟାଇପାରେ।