Вибір обробника cURL у Guzzle для SOCKS-проксі
Обробник, обмежений 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 проксі клієнта.
Якщо застосунок уже має стек обробників, огляньте його транспорт, перш ніж замінювати його й втрачати проміжне програмне забезпечення. Обробник, обмежений HTTP-потоками PHP, не може реалізувати SOCKS лише тому, що клієнт отримує цю опцію.
Перевірте процес, який виконує запит. CLI PHP і PHP-FPM можуть завантажувати різні конфігураційні файли та розширення; наявність cURL в одному не доводить його доступності в іншому.