$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-а кодирало би и разделнике шеме и ауторитета потребне за проналажење слушаоца.

HTTP прокси преноси HTTPS API везу кроз CONNECT. Прокси налог не замењује API аутентификацију и није потребно форсирати http_version на 2.0 за пријаву кроз прокси.

Листа no_proxy одвојена запетама бира предвиђене директне хостове. Без експлицитних опција компонента може уместо тога користити подржане поставке окружења.

Ово директно конструише CurlHttpClient, што захтева PHP cURL транспорт. Symfony генеричка фабрика може одабрати други backend. За преостало одбијање идентификујте тај одабрани транспорт и задржите грешку прокси фазе уместо премештања налога у одредишни Authorization header.

Повезани чланци