Intereting Posts
Возможности доступа api к Google Maps для iphone? (обработка javascript без UIWebView) Расширение PHP GD без повторной компиляции PHP-решения PHP: предел длины preg_match Неизвестно: не удалось открыть окно «0ff» (include_path = '.: / Tmp: / usr / lib / php: / usr / local / lib / php') в Unknown в строке 0 Обработчик исключений Silex Как создать объект Crypt :: RSA из модуля, экспоненты и частного экспонента? laravel 5.1 говорит для всех других маршрутов, что кроме ('/'), что 404 страница не найдена на онлайн-сервере Amazon с использованием ec2 Как написать getter / setter для доступа к многоуровневому массиву по ключевым словам? Как вызвать контроллер подпапки с маршрутизацией CodeIgniter Установить переменную сеанса с помощью javascript Насколько безопасность действительно нужна на «частном» веб-сайте? PHP-флеш, который работает … даже в Nginx Логические и физические URL-адреса выпадающий элемент ind drop при редактировании Diggbar modrewrite. Как они передают URL-адреса через modrewrite?

Как использовать прокси-сервер SOCKS 5 с cURL?

Обычные прокси (например: 72.41.132.22:3128 ) хорошо работают с cURL, однако, когда я использую SOCKS 5 прокси с именем пользователя / pass, он просто дает мне «[1» на странице.

Есть ли способ использовать SOCKY 5 прокси с cURL?

 $proxy = "cagsan:jw22wdw@108.61.25.223:34792"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_HEADER, 1); $curl_scraped_page = curl_exec($ch); curl_close($ch); 

Вы должны сообщить cURL, что прокси – прокси SOCKS5, иначе cURL предполагает, что это HTTP-прокси:

 curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); 

Из документов :

CURLOPT_PROXYTYPE

Либо CURLPROXY_HTTP (по умолчанию), либо CURLPROXY_SOCKS5.

поскольку cURL 7.21.7, вы можете использовать CURLOPT_PROXY и указать протокол SOCKS:

 curl_setopt($ch, CURLOPT_PROXY, 'socks5://bob:marley@localhost:12345'); 

Дополнительная информация в документации libcurl .

Для тех, кто хочет подключиться через имя хоста (localhost?), И он не работает с CURLPROXY_SOCKS5 , вы можете попробовать CURLPROXY_SOCKS5_HOSTNAME .

 curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME); 

В некоторых более ранних версиях PHP вам нужно будет:

 curl_setopt($ch, CURLOPT_PROXYTYPE, 7);