Angiv Symfony CurlHttpClients godkendte proxy-URL
Kod proxykontoens komponenter og hold API-destinationen, no_proxy-undtagelser og transportvalget eksplicitte.
$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 gælder for brugernavnet og adgangskoden separat. Kodning af hele URL'en ville også kode de skema- og autoritetsseparatorer, der er nødvendige for at finde lytteren.
HTTP-proxyen bærer HTTPS-API-forbindelsen gennem CONNECT. Proxykontoen erstatter ikke API-godkendelse, og det er ikke nødvendigt at tvinge http_version til 2.0 for proxy-login.
Den kommaadskilte no_proxy-liste vælger de tilsigtede direkte værter. Uden eksplicitte valgmuligheder kan komponenten i stedet bruge sine understøttede miljøindstillinger.
Dette konstruerer CurlHttpClient direkte, hvilket kræver PHPs cURL-transport. Symfony's generiske fabrik kan vælge en anden backend. Ved en resterende afvisning skal du identificere den valgte transport og bevare fejlen fra proxy-trinnet i stedet for at flytte kontoen til en Authorization-header for destinationen.