Definiu l'URL de proxy autenticat de Symfony CurlHttpClient
Codifiqueu els components del compte de proxy i mantingueu explícits la destinació de l'API, les excepcions de no_proxy i la selecció de transport.
$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 s'aplica a el nom d'usuari i la contrasenya per separat. Codificar l'URL sencer també codificaria els separadors d'esquema i autoritat necessaris per localitzar l'oient.
El proxy HTTP transporta la connexió HTTPS de l'API mitjançant CONNECT. El compte de proxy no substitueix l'autenticació de l'API, i no cal forçar http_version a 2.0 per iniciar sessió al proxy.
La llista no_proxy separada per comes selecciona els amfitrions directes previstos. Sense opcions explícites, el component pot consumir en el seu lloc la configuració d'entorn admesa.
Això construeix CurlHttpClient directament, cosa que requereix el transport cURL de PHP. La fàbrica genèrica de Symfony pot seleccionar un altre backend. Si encara hi ha un rebuig, identifiqueu aquest transport seleccionat i conserveu l'error de l'etapa de proxy en lloc de moure el compte a una capçalera Authorization de destinació.