$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 ของปลายทาง

บทความที่เกี่ยวข้อง