$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 θα κωδικοποιούσε και τα διαχωριστικά σχήματος και αρχής που χρειάζονται για τον εντοπισμό του listener.

Το HTTP proxy μεταφέρει τη σύνδεση HTTPS API μέσω CONNECT. Ο λογαριασμός proxy δεν αντικαθιστά την πιστοποίηση API, και δεν απαιτείται εξαναγκασμός του http_version σε 2.0 για σύνδεση μέσω proxy.

Η λίστα no_proxy με διαχωρισμό κόμματων επιλέγει τους επιθυμητούς άμεσους hosts. Χωρίς ρητές επιλογές, το στοιχείο μπορεί να χρησιμοποιήσει αντί αυτού τις υποστηριζόμενες ρυθμίσεις περιβάλλοντος.

Αυτό κατασκευάζει απευθείας το CurlHttpClient, κάτι που απαιτεί τη μεταφορά cURL της PHP. Το γενικό εργοστάσιο του Symfony μπορεί να επιλέξει άλλο backend. Για μια εναπομένουσα απόρριψη, εντοπίστε αυτή τη μεταφορά και κρατήστε το σφάλμα του σταδίου proxy αντί να μεταφέρετε τον λογαριασμό σε κεφαλίδα Authorization προορισμού.

Σχετικά άρθρα