$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 ვრცელდება მომხმარებლის სახელი და პაროლი ცალ-ცალკე-ზე. მთლიანი URL-ის დაშიფვრა ასევე დაშიფრავდა სქემისა და ავტორიტეტის გამყოფებს, რომლებიც საჭიროა მსმენელის მოსაძებნად.

HTTP პროქსი HTTPS API კავშირს CONNECT-ის მეშვეობით გადასცემს. პროქსის ანგარიში არ ცვლის API-ის ავტორიზაციას და პროქსით შესვლისთვის http_version-ის 2.0-ზე იძულება არ არის საჭირო.

მძიმით გამოყოფილი no_proxy სია ირჩევს განკუთვნილ პირდაპირ ჰოსტებს. აშკარა პარამეტრების გარეშე კომპონენტს შეუძლია ამის ნაცვლად გამოიყენოს მისი მხარდაჭერილი გარემოს პარამეტრები.

ეს პირდაპირ ქმნის CurlHttpClient-ს, რაც მოითხოვს PHP-ის cURL ტრანსპორტს. Symfony-ის ზოგად ფაბრიკას შეუძლია სხვა backend-ის არჩევა. დარჩენილი უარის შემთხვევაში, ამოიცანით ეს არჩეული ტრანსპორტი და შეინარჩუნეთ პროქსის ეტაპის შეცდომა იმის ნაცვლად, რომ ანგარიში დანიშნულების Authorization სათაურში გადაიტანოთ.

დაკავშირებული სტატიები