Получение .onion страницы на CURL

Статус
В этой теме нельзя размещать новые ответы.

Nei

Nosce te ipsum
Команда форума
Модератор
Регистрация
5 Сен 2009
Сообщения
699
Реакции
611
  • Автор темы
  • Модер.
  • #1
Всем привет.

Есть у кого идеи как с помощью CURL получить .onion страницы?
Обычные методы, которые работают с обычными сайтами не помогают, выдётся ошибка: "Could not resolve host: __тут ссылка___.onion; Host not found"

Насколько я понимаю, надо как-то к прокси тора коннектиться, но что-то рабочих примеров не нагуглил.

Заранее спасибо, если кто поможет :beeer:
 
PHP:
$proxy = '1.2.3.4:5678'; //tor proxy
...
curl_setopt($ch, CURLOPT_PROXY, $proxy); //set proxy
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); //set type socks5
 
Такое не всегда получается. Попробуйте тип прокси указать 7
Код:
$proxy = '1.2.3.4:5678'; //tor proxy
curl_setopt($ch, CURLOPT_PROXY, $proxy); //set proxy
curl_setopt($ch, CURLOPT_PROXYTYPE, 7);
 
  • Автор темы
  • Модер.
  • #4
Спасибо всем. Вариант KillDead рабочий. Примерно такое пробовал, но чёт затупил и не тот порт установил [9050 вместо 9150], потому и не работал вариант через прокси :)
Готовый рабочий код (вдруг кому пригодится) :
PHP:
$url = "http://__YOUR_URL_HERE__.onion/";

$ch = curl_init();

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:9150');
curl_setopt($ch, CURLOPT_PROXYTYPE, 7);
curl_setopt($ch, CURLOPT_URL, $url);

$results = curl_exec($ch);
curl_close($ch);
 
Вместо непонятной 7 в CURLOPT_PROXYTYPE лучше всё же указать нормальное соответствующее наименование используемого протокола
Для просмотра ссылки Войди или Зарегистрируйся

127.0.0.1:9150 - SOCKS5, значит проще и понятнее подставить значение CURLPROXY_SOCKS5
 
  • Нравится
Реакции: Nei
Вместо непонятной 7 в CURLOPT_PROXYTYPE лучше всё же указать нормальное соответствующее наименование используемого протокола
Для просмотра ссылки Войди или Зарегистрируйся

127.0.0.1:9150 - SOCKS5, значит проще и понятнее подставить значение CURLPROXY_SOCKS5
Хоть бы прочитал всю тему целиком. Я понимаю что аж 3 поста осилить может не каждый, но всё таки - стоит хотя бы попробовать? В первом написали тоже самое что и вы, это не всегда работает. Во втором посте есть рабочий пример.
 
  • Нравится
Реакции: Nei
  • Автор темы
  • Модер.
  • #7
Вообще да - я тоже поспешил с отметкой "мне нравится".

Вариант
PHP:
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
не фунциклирует. Сurl на выходе пустую строку отдаёт, вместо кода .onion страницы.
Меняю CURLPROXY_SOCKS5 на 7 и всё работает отлично.
 
Да, поторопился. 7 = CURLPROXY_SOCKS5_HOSTNAME
 
  • Автор темы
  • Модер.
  • #9
Да, поторопился. 7 = CURLPROXY_SOCKS5_HOSTNAME
и опять нет, увы
при использовании CURLPROXY_SOCKS5_HOSTNAME выводится ошибка "Tor is not an HTTP Proxy". с семеркой опять-таки работает нормально
 
А вот это странно, эти параметры должны быть равноценны.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху