Pag-configure ng Proxy sa CurlTransport ng Yii2
Piliin ang CurlTransport bago ipasa ang CURLOPT_PROXY at mga opsyon sa pagpapatunay ng proxy sa isang kahilingan ng HTTP client ng Yii2.
Piliin ang CurlTransport bago ipasa ang mga numerikong opsyon ng CURLOPT. Gumagamit ang HTTP client ng Yii2 ng StreamTransport bilang default at hindi nagiging cURL dahil lamang sa mga konstante ito:
$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();Gumamit ng PHP runtime na may extension na cURL. Ipinapalagay ng halimbawang ito ang isang HTTP proxy na tumatanggap ng Basic; itugma ang proxy sa paraang sinusuportahan ng transport.
CURLOPT_PROXYAUTH ang pumipili ng pagpapatunay sa tagapamagitan. CURLOPT_HTTPAUTH at ang awtorisasyon ng API ay naglilingkod sa destinasyon.
Ang mga ibinahaging opsyon sa kahilingan ng Yii2, kabilang ang proxy na sensitibo sa malaki at maliit na titik at mga time limit, ay ibang interface. Hindi nila ginagawang naililipat ang sinumang konstante ng cURL sa pagitan ng mga backend.
Kung ang Client.requestConfig ay nagbibigay ng mga default na dapat manatili, gamitin ang addOptions para sa mga dagdag bawat kahilingan. Ang ipinakitang setOptions ay pumapalit sa koleksyong iyon at maaaring mag-alis ng mga namamangking pagpili.