กำหนดค่า 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 ที่แสดงจะแทนที่คอลเลกชันนั้นและอาจลบตัวเลือกที่สืบทอดมา