$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 koskee käyttäjänimi ja salasana erikseen. Koko URL:n koodaaminen koodaisi myös skeeman ja auktoriteetin erottimet, joita tarvitaan kuuntelijan löytämiseen.

HTTP-välityspalvelin kuljettaa HTTPS API -yhteyden CONNECTin kautta. Välityspalvelintili ei korvaa API-todennusta, eikä http_version-asetuksen pakottaminen arvoon 2.0 ole tarpeen välityspalvelinkirjautumiselle.

Pilkuilla erotettu no_proxy-lista valitsee aiotut suorat isännät. Ilman selkeitä asetuksia komponentti voi käyttää sen sijaan tukemiaan ympäristöasetuksia.

Tämä rakentaa CurlHttpClient-olion suoraan, mikä vaatii PHP:n cURL-kuljetuksen. Symfony'n yleinen tehdas voi valita toisen taustajärjestelmän. Jos hylkäys jatkuu, tunnista valittu kuljetus ja säilytä välityspalvelinvaiheen virhe sen sijaan, että siirtäisit tilin kohteen Authorization-otsakkeeseen.

Aiheeseen liittyvät artikkelit