Når du bevisst velger handleren til en Guzzle-klient, kan en 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 om å slå opp destinasjonsnavnet. Guzzle sender endepunktet videre til libcurl, så libcurl-bygget som er lastet inn, må støtte den protokollen. SOCKS5-proxylisten gir offentlige endepunktkandidater for klientens proxy-URL.

Hvis applikasjonen allerede har en handlerstabel, undersøk den underliggende transporten før du erstatter den og mister middleware. En handler begrenset til PHP HTTP-strømmer kan ikke implementere SOCKS bare fordi klienten får dette valget.

Kontroller prosessen som utfører forespørselen. CLI PHP og PHP-FPM kan laste inn ulike konfigurasjonsfiler og utvidelser; at cURL finnes i den ene, beviser ikke at det er tilgjengelig i den andre.

Relaterte artikler