Поставете 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 може да избере друг backend. При преостанато одбивање, идентификувајте го избраниот транспорт и задржете ја грешката од фазата на прокси наместо да ја преместите сметката во заглавје Authorization на дестинацијата.