$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();

A rawurlencode a a felhasználónevet és a jelszót külön esetében érvényes. A teljes URL kódolása a hallgató megtalálásához szükséges séma- és hatalmi elválasztókat is kódolná.

A HTTP proxy a HTTPS API-kapcsolatot CONNECT-en keresztül továbbítja. A proxyfiók nem helyettesíti az API-hitelesítést, és a proxybejelentkezéshez nem szükséges a http_version kényszerítése 2.0 értékre.

A vesszővel elválasztott no_proxy lista választja ki a kívánt közvetlen gazdagépeket. Explicit beállítások nélkül a komponens helyette a támogatott környezeti beállításait használhatja.

Ez közvetlenül hozza létre a CurlHttpClient példányt, ami a PHP cURL szállítási módját igényli. A Symfony általános gyára más backendet is választhat. Ha a visszautasítás fennmarad, azonosítsa a kiválasztott szállítási módot, és őrizze meg a proxy szakasz hibáját ahelyett, hogy a fiókot a cél Authorization fejlécébe helyezné.

Kapcsolódó cikkek