በYii2 የCurlTransport ውስጥ ፕሮክሲ ማዋቀር
CURLOPT_PROXY እና የፕሮክሲ ማረጋገጫ አማራጮችን ለYii2 HTTP ደንበኛ ጥያቄ ከማስተላለፍዎ በፊት 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 ያንን ስብስብ ይተካል እና የወረሱ ምርጫዎችን ሊያስወግድ ይችላል።