Chọn trình xử lý cURL của Guzzle cho proxy SOCKS
Trình xử lý chỉ hỗ trợ luồng HTTP không thể có được thương lượng SOCKS từ URL proxy; hãy chọn phương thức vận chuyển được hỗ trợ trong môi trường PHP thực tế.
Khi chọn trình xử lý của ứng dụng Guzzle một cách có chủ đích, ngăn xếp dựa trên cURL có thể dùng SOCKS:
$stack = \GuzzleHttp\HandlerStack::create(
new \GuzzleHttp\Handler\CurlHandler()
);
$client = new \GuzzleHttp\Client([
'handler' => $stack,
'proxy' => 'socks5h://proxy.example.net:1080',
]);socks5h yêu cầu proxy phân giải tên đích. Guzzle chuyển điểm cuối cho libcurl, nên bản libcurl được nạp phải hỗ trợ giao thức đó. Danh sách proxy SOCKS5 cung cấp các điểm cuối công khai ứng viên cho URL proxy của ứng dụng.
Nếu ứng dụng đã có sẵn ngăn xếp trình xử lý, hãy kiểm tra phương thức vận chuyển bên dưới trước khi thay thế và mất middleware. Trình xử lý giới hạn ở luồng HTTP của PHP không thể triển khai SOCKS chỉ vì ứng dụng nhận được tùy chọn này.
Kiểm tra tiến trình thực hiện yêu cầu. CLI PHP và PHP-FPM có thể nạp các tệp cấu hình và tiện ích mở rộng khác nhau; việc cURL xuất hiện ở một bên không chứng minh nó có sẵn ở bên kia.