$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 हेडरमा सार्नुको सट्टा प्रोक्सी-चरणको त्रुटि राख्नुहोस्।

सम्बन्धित लेखहरू