$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 berlaku untuk nama pengguna dan kata sandi secara terpisah. Mengenkode seluruh URL juga akan mengenkode pemisah skema dan otoritas yang diperlukan untuk menemukan listener.

Proxy HTTP membawa koneksi API HTTPS melalui CONNECT. Akun proxy tidak menggantikan autentikasi API, dan memaksa http_version menjadi 2.0 tidak diperlukan untuk login proxy.

Daftar no_proxy yang dipisahkan koma memilih host langsung yang dimaksud. Tanpa opsi eksplisit, komponen dapat memakai pengaturan lingkungan yang didukungnya sebagai gantinya.

Ini membuat CurlHttpClient secara langsung, yang memerlukan transportasi cURL PHP. Pabrik generik Symfony dapat memilih backend lain. Untuk penolakan yang tersisa, identifikasi transportasi yang dipilih tersebut dan pertahankan galat tahap proxy alih-alih memindahkan akun ke header Authorization tujuan.

Artikel terkait