SOCKS პროქსისთვის Guzzle-ის cURL დამმუშავებლის არჩევა
მხოლოდ HTTP ნაკადებზე შეზღუდული დამმუშავებელი ვერ მიიღებს SOCKS მოლაპარაკებას პროქსის URL-იდან; აირჩიეთ მხარდამჭერი ტრანსპორტი რეალურ PHP გარემოში.
როცა შეგნებულად ირჩევთ Guzzle კლიენტის დამმუშავებელს, cURL-ზე დაფუძნებულ სტეკს შეუძლია SOCKS-ის გამოყენება:
$stack = \GuzzleHttp\HandlerStack::create(
new \GuzzleHttp\Handler\CurlHandler()
);
$client = new \GuzzleHttp\Client([
'handler' => $stack,
'proxy' => 'socks5h://proxy.example.net:1080',
]);socks5h სთხოვს პროქსის დანიშნულების სახელის ამოხსნას. Guzzle გადასცემს ბოლო წერტილს libcurl-ს, ამიტომ ჩატვირთული libcurl-ის ნაგებობმა უნდა დაუჭიროს მხარი ამ პროტოკოლს. SOCKS5 პროქსების სია გთავაზობთ საჯარო ბოლო წერტილის კანდიდატებს კლიენტის პროქსის URL-ისთვის.
თუ აპლიკაციას უკვე აქვს დამმუშავებლების სტეკი, შეცვლამდე და შუალედური პროგრამული უზრუნველყოფის დაკარგვამდე შეამოწმეთ მისი ქვედა ტრანსპორტი. PHP HTTP ნაკადებზე შეზღუდული დამმუშავებელი ვერ განახორციელებს SOCKS-ს მხოლოდ იმიტომ, რომ კლიენტი ამ პარამეტრს იღებს.
შეამოწმეთ მოთხოვნის შემსრულებელი პროცესი. CLI PHP და PHP-FPM შეიძლება სხვადასხვა კონფიგურაციის ფაილსა და გაფართოებას ტვირთავდეს; cURL-ის არსებობა ერთში არ ამტკიცებს მის ხელმისაწვდომობას მეორეში.