Guzzle syn cURL-ôfhandeler kieze foar in SOCKS-proxy
In ôfhandeler dy't allinnich HTTP-streamen stipet, krijt gjin SOCKS-ûnderhanneling fan in proxy-URL; kies in stypjende transport yn 'e echte PHP-omjouwing.
As jo bewust de ôfhandeler fan in Guzzle-klant kieze, kin in cURL-basearre stack SOCKS brûke:
$stack = \GuzzleHttp\HandlerStack::create(
new \GuzzleHttp\Handler\CurlHandler()
);
$client = new \GuzzleHttp\Client([
'handler' => $stack,
'proxy' => 'socks5h://proxy.example.net:1080',
]);socks5h freget de proxy om de bestimmingsnamme op te lossen. Guzzle jout it einpunt troch oan libcurl, dus de laden libcurl-bou moat dat protokol stypje. De SOCKS5-proxylist leveret iepenbiere einpuntkandidaten foar de proxy-URL fan 'e klant.
As de applikaasje al in ôfhandeler-stack hat, ûndersykje dan de ûnderlizzende transport eardat jo it ferfange en middleware ferlieze. In ôfhandeler beheind ta PHP HTTP-streamen kin SOCKS net ymplementearje inkeld om't de klant dizze opsje krijt.
Kontrolearje it proses dat it fersyk docht. CLI PHP en PHP-FPM kinne ferskate konfiguraasjebestannen en taheakselen lade; dat cURL yn 'e iene ferskynt, bewiist net dat it yn 'e oare beskikber is.