SOCKS proxy için Guzzle'ın cURL işleyicisini seçmek
Yalnızca HTTP akışlarını destekleyen bir işleyici proxy URL'sinden SOCKS anlaşması elde edemez; gerçek PHP çalışma ortamında destekleyen bir taşıma seçin.
Bir Guzzle istemcisinin işleyicisini bilinçli olarak seçerken, cURL tabanlı bir yığın SOCKS kullanabilir:
$stack = \GuzzleHttp\HandlerStack::create(
new \GuzzleHttp\Handler\CurlHandler()
);
$client = new \GuzzleHttp\Client([
'handler' => $stack,
'proxy' => 'socks5h://proxy.example.net:1080',
]);socks5h proxy'den hedef adını çözmesini ister. Guzzle uç noktayı libcurl'e aktarır, bu yüzden yüklenen libcurl sürümü bu protokolü desteklemelidir. SOCKS5 proxy listesi, istemcinin proxy URL'si için genel uç nokta adayları sağlar.
Uygulamanın zaten bir işleyici yığını varsa, onu değiştirip ara katman yazılımını kaybetmeden önce altındaki taşımayı inceleyin. PHP HTTP akışlarıyla sınırlı bir işleyici, yalnızca istemci bu seçeneği aldığı için SOCKS uygulayamaz.
İsteği yapan süreci kontrol edin. CLI PHP ve PHP-FPM farklı yapılandırma dosyaları ve eklentiler yükleyebilir; cURL'in birinde bulunması diğerinde kullanılabilir olduğunu kanıtlamaz.