Set den autentiserte proxy-URL-en for Symfony CurlHttpClient
Kod komponentane i proxykontoen og hald API-destinasjonen, no_proxy-unntaka og transportvalet eksplisitte.
$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 gjeld for brukarnamnet og passordet kvar for seg. Å kode heile URL-en ville også kode skjema- og autoritetsskilja som trengst for å finne lyttaren.
HTTP-proxyen ber HTTPS-API-tilkoplinga gjennom CONNECT. Proxykontoen erstattar ikkje API-autentisering, og det er ikkje naudsynt å tvinge http_version til 2.0 for proxy-innlogging.
Den kommaåtskilde no_proxy-lista vel dei tiltenkte direkte vertane. Utan eksplisitte val kan komponenten i staden bruke dei støtta miljøinnstillingane sine.
Dette konstruerer CurlHttpClient direkte, noko som krev cURL-transporten i PHP. Den generiske fabrikken til Symfony kan velje ein annan backend. Ved ei gjenverande avvising, identifiser den valde transporten og hald på feilen frå proxy-trinnet i staden for å flytte kontoen til ein Authorization-header for destinasjonen.