Когато избирате съзнателно манипулатора на 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 проксита предоставя публични кандидати за адреса на проксито на клиента.

Ако приложението вече има свой стек от манипулатори, проверете транспорта под него, преди да го замените и да загубите междинния слой. Манипулатор, ограничен до PHP HTTP потоци, не може да реализира SOCKS само защото клиентът получава тази опция.

Проверете процеса, който изпълнява заявката. CLI PHP и PHP-FPM могат да зареждат различни конфигурационни файлове и разширения; наличието на cURL в едното не доказва, че е налично в другото.

Подобни статии