Kur zgjidhni me qëllim trajtuesin e një klienti Guzzle, një stivë e bazuar në cURL mund të përdorë SOCKS:

$stack = \GuzzleHttp\HandlerStack::create(
    new \GuzzleHttp\Handler\CurlHandler()
);

$client = new \GuzzleHttp\Client([
    'handler' => $stack,
    'proxy' => 'socks5h://proxy.example.net:1080',
]);

socks5h i kërkon proxy-t të zgjidhë emrin e destinacionit. Guzzle e kalon pikën fundore te libcurl, ndaj ndërtimi i ngarkuar i libcurl duhet të mbështesë atë protokoll. Lista e proxy-ve SOCKS5 ofron kandidatë publikë pikash fundore për URL-në e proxy-t të klientit.

Nëse aplikacioni ka tashmë një stivë trajtuesish, shqyrtoni transportin nën të përpara se ta zëvendësoni dhe të humbni middleware. Një trajtues i kufizuar në rrymat HTTP të PHP nuk mund të zbatojë SOCKS vetëm sepse klienti merr këtë opsion.

Kontrolloni procesin që bën kërkesën. CLI PHP dhe PHP-FPM mund të ngarkojnë skedarë konfigurimi dhe shtesa të ndryshme; prania e cURL në njërin nuk vërteton disponueshmërinë e tij në tjetrin.

Artikuj të ngjashëm