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 இருப்பது மற்றொன்றில் அது கிடைப்பதை நிரூபிக்காது.