Коли ви свідомо обираєте обробник клієнта 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 в одному не доводить його доступності в іншому.

Схожі статті