Zgjedhja e trajtuesit cURL të Guzzle për një proxy SOCKS
Një trajtues vetëm me rryma HTTP nuk mund të marrë negociatë SOCKS nga një URL proxy; zgjidhni një transport mbështetës në mjedisin real PHP.
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.