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

Тема в разделе "PHP", создана пользователем Nei, 17 янв 2016.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Nei

    Nei Nosce te ipsum

    Регистр.:
    5 сен 2009
    Сообщения:
    670
    Симпатии:
    521
    Всем привет.

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

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

    Заранее спасибо, если кто поможет :beeer:
     
  2. ykpon

    ykpon

    Регистр.:
    8 дек 2012
    Сообщения:
    251
    Симпатии:
    146
    PHP:
    $proxy '1.2.3.4:5678'//tor proxy
    ...
    curl_setopt($chCURLOPT_PROXY$proxy); //set proxy
    curl_setopt($chCURLOPT_PROXYTYPECURLPROXY_SOCKS5); //set type socks5
     
    latteo и Nei нравится это.
  3. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    892
    Симпатии:
    567
    Такое не всегда получается. Попробуйте тип прокси указать 7
    Код:
     
    $proxy = '1.2.3.4:5678'; //tor proxy
    curl_setopt($ch, CURLOPT_PROXY, $proxy); //set proxy
    curl_setopt($ch, CURLOPT_PROXYTYPE, 7); 
    
    
     
    latteo и Nei нравится это.
  4. Nei

    Nei Nosce te ipsum

    Регистр.:
    5 сен 2009
    Сообщения:
    670
    Симпатии:
    521
    Спасибо всем. Вариант KillDead рабочий. Примерно такое пробовал, но чёт затупил и не тот порт установил [9050 вместо 9150], потому и не работал вариант через прокси :)
    Готовый рабочий код (вдруг кому пригодится) :
    PHP:
    $url "http://__YOUR_URL_HERE__.onion/";

    $ch curl_init();

    curl_setopt($chCURLOPT_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($chCURLOPT_PROXY'127.0.0.1:9150');
    curl_setopt($chCURLOPT_PROXYTYPE7);
    curl_setopt($chCURLOPT_URL$url);

    $results curl_exec($ch);
    curl_close($ch);
     
    funnywheel, Offi и Chvalov нравится это.
  5. Jim_Di

    Jim_Di Писатель

    Регистр.:
    29 июн 2012
    Сообщения:
    5
    Симпатии:
    1
    Вместо непонятной 7 в CURLOPT_PROXYTYPE лучше всё же указать нормальное соответствующее наименование используемого протокола
    http://php.net/manual/function.curl-setopt.php

    127.0.0.1:9150 - SOCKS5, значит проще и понятнее подставить значение CURLPROXY_SOCKS5
     
    Nei нравится это.
  6. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    892
    Симпатии:
    567
    Хоть бы прочитал всю тему целиком. Я понимаю что аж 3 поста осилить может не каждый, но всё таки - стоит хотя бы попробовать? В первом написали тоже самое что и вы, это не всегда работает. Во втором посте есть рабочий пример.
     
    Nei нравится это.
  7. Nei

    Nei Nosce te ipsum

    Регистр.:
    5 сен 2009
    Сообщения:
    670
    Симпатии:
    521
    Вообще да - я тоже поспешил с отметкой "мне нравится".

    Вариант
    PHP:
    curl_setopt($chCURLOPT_PROXYTYPECURLPROXY_SOCKS5); 
    не фунциклирует. Сurl на выходе пустую строку отдаёт, вместо кода .onion страницы.
    Меняю CURLPROXY_SOCKS5 на 7 и всё работает отлично.
     
  8. Jim_Di

    Jim_Di Писатель

    Регистр.:
    29 июн 2012
    Сообщения:
    5
    Симпатии:
    1
    Да, поторопился. 7 = CURLPROXY_SOCKS5_HOSTNAME
     
  9. Nei

    Nei Nosce te ipsum

    Регистр.:
    5 сен 2009
    Сообщения:
    670
    Симпатии:
    521
    и опять нет, увы
    при использовании CURLPROXY_SOCKS5_HOSTNAME выводится ошибка "Tor is not an HTTP Proxy". с семеркой опять-таки работает нормально
     
  10. Jim_Di

    Jim_Di Писатель

    Регистр.:
    29 июн 2012
    Сообщения:
    5
    Симпатии:
    1
    А вот это странно, эти параметры должны быть равноценны.
     
Статус темы:
Закрыта.