Минимальная сиситема управления сайтами-ботами (Вопрос)

Discussion in 'PHP' started by sharm, 28 Dec 2012.

  1. sharm

    sharm New Member

    Joined:
    4 Dec 2012
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Всем доброго времени суток.

    Суть вопроса в следующем:

    Имеется некое кол-во сайтов-ботов:

    сайт_бот_1:
    - пару скриптов
    - пару текстовых файлов
    сайт_бот_2 - идентичен сайту_боту_1
    сайт_бот_3 - идентичен сайту_боту_1
    сайт_бот_3 - идентичен сайту_боту_1

    Что нужно:
    Изменять данные которые храняться в txt файлах (пример: email.txt - в нем 1 мыло)
    Обновлять php скрипты.
    Делать бэкап логов.

    Мое текущее решение:
    Написал и закачал на все сайты-боты пхп-скрипт, который делает то что мне нужно. Функционал минимальный.
    Передаю ему данные GET Запросом. Пример: site_bot_1.ru/[email protected]
    Еще он может очищять лог файлы, которые я сам скачиваю (site_bot_1.ru/logs.txt) потом очищаю, когда они становьятся большими и не удобными (site_bot_1.ru/control.php?logs=clear)

    На этом функционал заканчивается, это очень не удобно, каждому боту вручную передавать запрос.

    Что хочу сделать:
    Нужно как-то организовать процес, но не знаю как, в пхп новичек, всех приколов не знаю, по этому спрашиваю у вас, как лучше сделать, в какую сторону копать.

    Проблема в том что боты на разных фри-хостингах и на каждом свои ограничения.

    Я пробовал сделать все через curl - передавал всем ботам запрос, но 4 из 8-ми ботов не отвечают на курл вообще, перепробовал кучу примеров - не понятно в чем проблема.


    Может сокеты использовать ? Может это проблема не в серваках, а в курле ? Или на сайтах ботах сделать get_content() где это необходимо, но это не удобно, или Iframe использовать..

    хз что делать :(
    Помогите, пожалуйста, решить задачу :)
     
  2. daniel777

    daniel777 Elder - Старейшина

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Как это сайт не отвечает на Сurl?
    Какие заголовки передаете?
    Какой ответ сервера?
     
  3. sharm

    sharm New Member

    Joined:
    4 Dec 2012
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Я с curl плохо знаком, вернее не знаком, а только готовыми решениями пользовался :)

    Вот последний код которым пытался передать данные. От 4-х ботов ответ есть и на денвере работает, а вот 4 не отвечают, буд-то курл и не отправлялся. Передавал как на главную страницу, так и саому скрипту.

    PHP:
    function test($url=''$post=''$referer=''$proxy='') {
        
    $cl curl_init();
        
    curl_setopt($clCURLOPT_URL$url);
        
    curl_setopt($clCURLOPT_RETURNTRANSFER,1);
        
    curl_setopt($clCURLOPT_USERAGENT'Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.10');
        
    curl_setopt($clCURLOPT_COOKIEJAR$_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
        
    curl_setopt($clCURLOPT_COOKIEFILE$_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
        if(!empty(
    $post)) {curl_setopt($clCURLOPT_POST1); curl_setopt($clCURLOPT_POSTFIELDS$post);}else{curl_setopt($clCURLOPT_POST0);}
        if(!empty(
    $referer)){curl_setopt($clCURLOPT_REFERER$referer);}else{curl_setopt($cl,CURLOPT_REFERER1);}
        if(!empty(
    $proxy)) {curl_setopt($clCURLOPT_PROXY$proxy);}
        
    $ex=curl_exec($cl);
        
    curl_close($cl);
            return 
    $ex;
    }

    PHP:
    echo test('site1.ru/control.php','test=test');
    control.php
    PHP:
    if (isset($_POST['test'])) {
     echo 
    "test";
    }

    Пытался так же передавать данные методом GET через curl, такая же фигня, а если прямо(через браузер) обратится то скрипт отвечает(если GET Запрос)
     
  4. sharm

    sharm New Member

    Joined:
    4 Dec 2012
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Только что попробовал отправить на главную страницу и на скрипт, ответ один и тот же:

     
  5. sharm

    sharm New Member

    Joined:
    4 Dec 2012
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Блин...
    Ржу сам с себя =)
    Уже 3 дня вожусь не могу понять в чем проблема, а что бы понять надо было только на ачате запостить темуи все дошло =)

    В общем детали знать не могу, но проблема была в хостинге с которого отправлялся curl.
    Причин вижу несколько:
    1) 4 моих бота были в блэк-листе данного хостинга.
    2) Причина в самом курле сервака/каких-то настройках сервака, хотя curl слался на другие сайты без проблем.

    daniel777, спасибо большое, твой вопрос заставил меня обратить особое внимание на заголовки, что с последствии и привело к ответу :)
     
  6. Zombi ****

    Zombi **** Elder - Старейшина

    Joined:
    4 Apr 2009
    Messages:
    166
    Likes Received:
    183
    Reputations:
    17
    Причин вижу несколько:
    1) 4 моих бота были в блэк-листе данного хостинга.
    2) Причина в самом курле сервака/каких-то настройках сервака, хотя curl слался на другие сайты без проблем.


    и обе бредовые, а вот то что у когото руки из жопы вот это как вариант! проверь код заюзай другой сервак и т д , Да прибудет с тобой сила!!!!!
     
  7. sharm

    sharm New Member

    Joined:
    4 Dec 2012
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Zombi ****, код рабочий использовался постоянно - он приведен выше.

    А какую проблему ты видишь ? Почему curl работает только с 4мя с 8ми сайтов ?)

    Если такой умный - ответь, пожалуйста :))
     
  8. daniel777

    daniel777 Elder - Старейшина

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    В правильно заданном вопросе - 50% ответа:)

    У меня есть предположение что идёт проверка на useragent или какой-то другой заголовок.
    Если с браузера заходит нормально - то с помощью сниффера посмотреть какого именно не хватает.

    Можете ссылку на сайт отправить мне в ЛС - помогу. Могу помочь и с написанием бота если что.
     
    #8 daniel777, 28 Dec 2012
    Last edited: 28 Dec 2012