SOCKS ప్రాక్సీ కోసం Guzzle యొక్క cURL హ్యాండ్లర్ ఎంపిక
HTTP స్ట్రీమ్లకు మాత్రమే మద్దతిచ్చే హ్యాండ్లర్ ప్రాక్సీ URL నుండి SOCKS చర్చలను పొందలేదు; నిజమైన PHP రన్టైమ్లో మద్దతిచ్చే రవాణాను ఎంచుకోండి.
Guzzle క్లయింట్ హ్యాండ్లర్ను ఉద్దేశపూర్వకంగా ఎంచుకున్నప్పుడు, cURL ఆధారిత స్టాక్ SOCKS ఉపయోగించగలదు:
$stack = \GuzzleHttp\HandlerStack::create(
new \GuzzleHttp\Handler\CurlHandler()
);
$client = new \GuzzleHttp\Client([
'handler' => $stack,
'proxy' => 'socks5h://proxy.example.net:1080',
]);socks5h ప్రాక్సీని గమ్యస్థాన నామాన్ని పరిష్కరించమని కోరుతుంది. Guzzle ఎండ్పాయింట్ను libcurl కి పంపుతుంది, కాబట్టి లోడ్ అయిన libcurl బిల్డ్ ఆ ప్రోటోకాల్కు మద్దతిచ్చాలి. SOCKS5 ప్రాక్సీ జాబితా క్లయింట్ ప్రాక్సీ URL కోసం పబ్లిక్ ఎండ్పాయింట్ అభ్యర్థులను అందిస్తుంది.
అప్లికేషన్లో ఇప్పటికే హ్యాండ్లర్ స్టాక్ ఉంటే, దాన్ని భర్తీ చేసి మిడిల్వేర్ కోల్పోయే ముందు దాని అంతర్లీన రవాణాను పరిశీలించండి. PHP HTTP స్ట్రీమ్లకు మాత్రమే పరిమితమైన హ్యాండ్లర్ క్లయింట్ ఈ ఎంపికను పొందుతుందనే కారణంతో మాత్రమే SOCKS అమలు చేయలేదు.
అభ్యర్థన చేసే ప్రక్రియను తనిఖీ చేయండి. CLI PHP మరియు PHP-FPM వేర్వేరు కాన్ఫిగరేషన్ ఫైల్లు మరియు ఎక్స్టెన్షన్లను లోడ్ చేయవచ్చు; ఒకదానిలో cURL ఉండటం మరొకదానిలో అది అందుబాటులో ఉందని నిరూపించదు.