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 ਹੋਣਾ ਦੂਜੇ ਵਿੱਚ ਇਸਦੀ ਉਪਲਬਧਤਾ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ।

ਸੰਬੰਧਿਤ ਲੇਖ