ຕັ້ງຄ່າ proxy ໃນ CurlTransport ຂອງ Yii2
ເລືອກ CurlTransport ກ່ອນທີ່ຈະສົ່ງ CURLOPT_PROXY ແລະ ຕົວເລືອກການພິສູດຢືນຢັນ proxy ໄປຫາຄຳຮ້ອງ HTTP client ຂອງ Yii2.
ເລືອກ CurlTransport ກ່ອນທີ່ຈະສົ່ງຕົວເລືອກ CURLOPT ເປັນຕົວເລກ. HTTP client ຂອງ Yii2 ໃຊ້ 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();ໃຊ້ PHP runtime ທີ່ມີສ່ວນຂະຫຍາຍ cURL. ຕົວຢ່າງນີ້ຄາດຫວັງ proxy HTTP ທີ່ຮັບ Basic; ປັບ proxy ໃຫ້ເຂົ້າກັບວິທີທີ່ transport ຮອງຮັບ.
CURLOPT_PROXYAUTH ເລືອກການພິສູດຢືນຢັນກັບຕົວກາງ. CURLOPT_HTTPAUTH ແລະ ການອະນຸຍາດ API ຮັບໃຊ້ປາຍທາງແທນ.
ຕົວເລືອກຄຳຮ້ອງຮ່ວມຂອງ Yii2 ລວມທັງ proxy ທີ່ແຍກຕົວພິມໃຫຍ່-ນ້ອຍ ແລະ ເວລາຈຳກັດ ເປັນອີກອິນເຕີເຟສໜຶ່ງ. ພວກມັນບໍ່ເຮັດໃຫ້ຄ່າຄົງທີ່ cURL ໃດໆ ຍ້າຍລະຫວ່າງ backend ໄດ້.
ຖ້າ Client.requestConfig ໃຫ້ຄ່າເລີ່ມຕົ້ນທີ່ຕ້ອງຄົງຢູ່ ໃຫ້ໃຊ້ addOptions ສຳລັບການເພີ່ມຕໍ່ຄຳຮ້ອງ. setOptions ທີ່ສະແດງແທນຊຸດນັ້ນ ແລະ ອາດລຶບຕົວເລືອກທີ່ສືບທອດມາ.