Vel Guzzle sin cURL-handterar for ein SOCKS-proxy
Ein handterar som berre støttar HTTP-straumar, kan ikkje få SOCKS-forhandling frå ein proxy-URL; vel ein støttande transport i det faktiske PHP-miljøet.
Når du med vilje vel handteraren til ein Guzzle-klient, kan ein cURL-basert stabel bruke SOCKS:
$stack = \GuzzleHttp\HandlerStack::create(
new \GuzzleHttp\Handler\CurlHandler()
);
$client = new \GuzzleHttp\Client([
'handler' => $stack,
'proxy' => 'socks5h://proxy.example.net:1080',
]);socks5h ber proxyen slå opp destinasjonsnamnet. Guzzle sender endepunktet vidare til libcurl, så libcurl-bygget som er lasta inn, må støtte den protokollen. SOCKS5-proxylista gjev offentlege endepunktkandidatar for proxy-URL-en til klienten.
Viss applikasjonen alt har ein handterarstabel, undersøk den underliggjande transporten før du byter han ut og mistar middleware. Ein handterar avgrensa til PHP HTTP-straumar kan ikkje implementere SOCKS berre fordi klienten får dette valet.
Kontroller prosessen som utfører førespurnaden. CLI PHP og PHP-FPM kan laste inn ulike konfigurasjonsfiler og utvidingar; at cURL finst i den eine, bevisar ikkje at det er tilgjengeleg i den andre.