Выбар апрацоўшчыка 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 у адным не даказвае яго даступнасці ў іншым.