Symfony CurlHttpClient-ის ავტორიზებული პროქსის URL-ის დაყენება
დაშიფრეთ პროქსის ანგარიშის კომპონენტები და აშკარად შეინახეთ API-ის დანიშნულება, no_proxy გამონაკლისები და ტრანსპორტის არჩევანი.
$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 სათაურში გადაიტანოთ.