Наладзіць URL аўтэнтыфікаванага проксі для Symfony CurlHttpClient
Кадзіруйце кампаненты ўліковага запісу проксі і захоўвайце відавочнымі прызначэнне API, выключэнні no_proxy і выбар транспарту.
$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 напрамую, што патрабуе транспарту cURL у PHP. Агульная фабрыка Symfony можа выбраць іншы бэкенд. Пры застаўшымся адхіленні вызначце гэты абраны транспарт і захавайце памылку этапу проксі замест пераносу ўліковага запісу ў загаловак Authorization прызначэння.