Configura a URL de proxy autenticada de Symfony CurlHttpClient
Codifique os compoñentes da conta de proxy e manteña explícitos o destino da API, as excepcións de no_proxy e a selección de transporte.
$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 aplícase a o nome de usuario e o contrasinal por separado. Codificar a URL completa tamén codificaría os separadores de esquema e autoridade necesarios para localizar o listener.
O proxy HTTP transporta a conexión HTTPS da API mediante CONNECT. A conta de proxy non substitúe a autenticación da API, e non é necesario forzar http_version a 2.0 para o inicio de sesión do proxy.
A lista no_proxy separada por comas selecciona os hosts directos previstos. Sen opcións explícitas, o compoñente pode consumir no seu lugar a súa configuración de contorno admitida.
Isto constrúe CurlHttpClient directamente, o que require o transporte cURL de PHP. A fábrica xenérica de Symfony pode seleccionar outro backend. Ante un rexeitamento persistente, identifique ese transporte seleccionado e conserve o erro da etapa de proxy en lugar de mover a conta a unha cabeceira Authorization de destino.