$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 को सीधे बनाता है, जिसके लिए PHP के cURL ट्रांसपोर्ट की आवश्यकता होती है। Symfony की सामान्य फ़ैक्टरी कोई दूसरा बैकएंड चुन सकती है। शेष अस्वीकृति के लिए, उस चुने गए ट्रांसपोर्ट की पहचान करें और खाते को गंतव्य Authorization हेडर में ले जाने के बजाय प्रॉक्सी-चरण की त्रुटि बनाए रखें।

संबंधित लेख