$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 se primenjuje na korisničko ime i lozinku odvojeno. Kodiranje celog URL-a kodiralo bi i razdelnike šeme i autoriteta potrebne za pronalaženje listenera.

HTTP proxy prenosi HTTPS API vezu kroz CONNECT. Proxy nalog ne zamenjuje API autentifikaciju i nije potrebno forsirati http_version na 2.0 za prijavu kroz proxy.

Lista no_proxy odvojena zapetama bira predviđene direktne hostove. Bez eksplicitnih opcija komponenta može umesto toga koristiti podržane postavke okruženja.

Ovo direktno konstruiše CurlHttpClient, što zahteva PHP cURL transport. Symfony generička fabrika može odabrati drugi backend. Za preostalo odbijanje identifikujte taj odabrani transport i zadržite grešku proxy faze umesto premeštanja naloga u odredišni Authorization header.

Povezani članci