ตั้งค่า URL พร็อกซีที่ผ่านการพิสูจน์ตัวตนของ Symfony CurlHttpClient
เข้ารหัสองค์ประกอบของบัญชีพร็อกซีและคงปลายทาง API ข้อยกเว้น no_proxy และการเลือกการรับส่งให้ชัดเจน
$proxy = 'http://'
. rawurlencode($proxyUser) . ':'
. rawurlencode($proxyPassword)
. '@proxy.example:8080';
$client = new \Symfony\Component\HttpClient\CurlHttpClient([
'proxy' => $proxy,
'no_proxy' => 'localhost,internal.example',
]);
$response = $client->request('GET', 'https://api.example/items');
$status = $response->getStatusCode();rawurlencode ใช้กับ ชื่อผู้ใช้และรหัสผ่านแยกกัน การเข้ารหัส URL ทั้งหมดจะเข้ารหัสตัวคั่นสคีมาและอำนาจที่จำเป็นในการค้นหาตัวรับฟังด้วย
พร็อกซี HTTP ขนส่งการเชื่อมต่อ HTTPS API ผ่าน CONNECT บัญชีพร็อกซีไม่ได้แทนที่การพิสูจน์ตัวตนของ API และไม่จำเป็นต้องบังคับ http_version เป็น 2.0 สำหรับการเข้าสู่ระบบผ่านพร็อกซี
รายการ no_proxy ที่คั่นด้วยจุลภาคเลือกโฮสต์โดยตรงที่ต้องการ หากไม่มีตัวเลือกที่ชัดเจน คอมโพเนนต์อาจใช้การตั้งค่าสภาพแวดล้อมที่รองรับแทน
การสร้าง CurlHttpClient โดยตรงนี้ต้องใช้การรับส่ง cURL ของ PHP โรงงานทั่วไปของ Symfony สามารถเลือกแบ็กเอนด์อื่นได้ หากยังถูกปฏิเสธ ให้ระบุการรับส่งที่เลือกนั้นและเก็บข้อผิดพลาดของขั้นพร็อกซีไว้ แทนการย้ายบัญชีไปยังส่วนหัว Authorization ของปลายทาง