$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 kullanıcı adını ve parolayı ayrı ayrı için geçerlidir. URL'nin tamamını kodlamak, dinleyiciyi bulmak için gereken şema ve yetki ayırıcılarını da kodlar.

HTTP proxy, HTTPS API bağlantısını CONNECT üzerinden taşır. Proxy hesabı API kimlik doğrulamasının yerine geçmez ve proxy oturumu için http_version değerini 2.0 yapmaya zorlamak gerekmez.

Virgülle ayrılmış no_proxy listesi amaçlanan doğrudan ana bilgisayarları seçer. Açık seçenekler yoksa bileşen bunun yerine desteklenen ortam ayarlarını kullanabilir.

Bu, CurlHttpClient öğesini doğrudan oluşturur ve PHP'nin cURL taşımasını gerektirir. Symfony'nin genel fabrikası başka bir arka uç seçebilir. Reddetme sürerse, seçilen taşımayı belirleyin ve hesabı hedefin Authorization başlığına taşımak yerine proxy aşamasındaki hatayı koruyun.

İlgili makaleler