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 тогтмолыг backend-үүдийн хооронд зөөвөрлөх боломжтой болгодоггүй.
Хэрэв Client.requestConfig хадгалагдах ёстой анхдагч утгуудыг өгвөл хүсэлт тус бүрийн нэмэлтэд addOptions ашиглана уу. Харуулсан setOptions тэр цуглуулгыг орлуулж, өвлөгдсөн сонголтыг устгаж болно.