$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 ay nalalapat sa ang username at password nang hiwalay. Ang pag-encode ng buong URL ay mag-e-encode din ng mga separator ng scheme at authority na kailangan upang mahanap ang listener.

Dinadala ng HTTP proxy ang HTTPS API na koneksyon sa pamamagitan ng CONNECT. Hindi pinapalitan ng proxy account ang authentication ng API, at hindi kailangang pilitin ang http_version sa 2.0 para sa proxy login.

Pinipili ng listahang no_proxy na pinaghihiwalay ng kuwit ang mga sinasadyang direktang host. Kung walang malinaw na opsyon, maaaring gamitin ng component ang sinusuportahang setting ng environment nito.

Direktang binubuo nito ang CurlHttpClient, na nangangailangan ng cURL transport ng PHP. Ang generic na pabrika ng Symfony ay maaaring pumili ng ibang backend. Kung may natitirang pagtanggi, tukuyin ang napiling transport na iyon at panatilihin ang error sa yugto ng proxy sa halip na ilipat ang account sa isang Authorization header ng destinasyon.

Kaugnay na mga artikulo