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 હોવું બીજામાં તેની ઉપલબ્ધતા સાબિત કરતું નથી.