Kies Guzzle se cURL-hanteerder vir 'n SOCKS-proksie
'n Hanteerder wat slegs HTTP-strome ondersteun, kan nie SOCKS-onderhandeling uit 'n proksie-URL kry nie; kies 'n ondersteunende transport in die werklike PHP-omgewing.
Wanneer jy die hanteerder van 'n Guzzle-kliënt doelbewus kies, kan 'n cURL-gebaseerde stapel SOCKS gebruik:
$stack = \GuzzleHttp\HandlerStack::create(
new \GuzzleHttp\Handler\CurlHandler()
);
$client = new \GuzzleHttp\Client([
'handler' => $stack,
'proxy' => 'socks5h://proxy.example.net:1080',
]);socks5h vra die proksie om die bestemmingsnaam op te los. Guzzle gee die eindpunt aan libcurl deur, dus moet die gelaaide libcurl-bou daardie protokol ondersteun. Die SOCKS5-proksielys verskaf openbare eindpunt-kandidates vir die kliënt se proksie-URL.
As die toepassing reeds 'n hanteerstapel het, ondersoek die onderliggende transport voordat jy dit vervang en middleware verloor. 'n Hanteerder wat tot PHP HTTP-strome beperk is, kan nie SOCKS implementeer bloot omdat die kliënt hierdie opsie ontvang nie.
Kontroleer die proses wat die versoek maak. CLI PHP en PHP-FPM kan verskillende konfigurasielêers en uitbreidings laai; cURL wat in een voorkom, bewys nie dat dit in die ander beskikbaar is nie.