Скрипт автопостинга на liveinternet.ru

Тема в разделе "Автоблоггинг", создана пользователем Kolombo, 14 мар 2008.

Статус темы:
Закрыта.
  1. Kolombo

    Kolombo Постоялец

    Регистр.:
    5 фев 2008
    Сообщения:
    64
    Симпатии:
    4
    В общем хотелысь написать скрипт.
    Суть его заключается в том, что при создании основной новости на сайте (любом) подобная новость создается на liveinternet.ru
    Для этого нужно знать каким образом происходит постинг новостей на лайвинтернет. МОжет быть уже есть готовые скрипты или похожие или хотя бы хоть какая-то информация, а то пока сам не могу разобраться.
    Заранее спасибо за любую информацию по данному вопросу.
    Вообще я думаю что-то надо сделать по такой системе. Скрипт входит на сайт под определенным логином и паролем -> Отсылает все данные для постинга (для этого необходимо знать какие переменные используются и т.д.)
    В общем пока никак не получается ничего( Жалко нет такой же системы как на блоггере(
     
  2. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
    Читай про cURL, переменные можно взять из исходного кода страницы или перехватывая запросы.
    Поидее скрипт пишется за 10-15 минут...
     
  3. Kolombo

    Kolombo Постоялец

    Регистр.:
    5 фев 2008
    Сообщения:
    64
    Симпатии:
    4
    а конкретно чтобы посоветовали? я в яндексе только нашел описания основных функций. хотелось бы что-то в виде примеров, чтобы разобраться как это все работает)
     
  4. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
  5. Kolombo

    Kolombo Постоялец

    Регистр.:
    5 фев 2008
    Сообщения:
    64
    Симпатии:
    4
    Вот ввожу код
    Код:
    <?  
    $url = "http://www.liveinternet.ru/member.php"; // URL на который посылаем запрос
    $login = ''; // логин 
    $password = ''; // пассворд
    $ch = curl_init();  
    
    curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookieFileName");
    
    curl_setopt($ch, CURLOPT_URL,$url); // Устанавливаем URL на который посылать запрос  
    curl_setopt($ch, CURLOPT_HEADER, 1); //  Результат будет содержать заголовки
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // Результат будет возвращём в переменную, а не выведен.
    curl_setopt($ch, CURLOPT_TIMEOUT, 3); // Таймаут после 4 секунд 
    
    
    curl_setopt($ch, CURLOPT_POST, 1); // Устанавливаем метод POST
    
    curl_setopt($ch, CURLOPT_POSTFIELDS, "action=login&charset=utf&username=$login&password=$password"); // посылаемые значения
    
    $result = curl_exec($ch);  
    curl_close($ch);   
    
    echo $result;
    ?> 

    на что выдается ошибка:
    Код:
    Настройки Вашего браузера (просмотрщика интернет) не позволяют запомнить Вас на сайте, требуется включить запись cookies.
    
    Подробная инструкция по настройке. 
    
    Нажмите, если надоело ждать
    (или браузер не хочет выполнять автоматическую переадресацию) 
    
    
     
  6. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
    Попробуй не закрывая сессию выполнить запрос на добавление новости, если не получится - будем думать
     
  7. Kolombo

    Kolombo Постоялец

    Регистр.:
    5 фев 2008
    Сообщения:
    64
    Симпатии:
    4
    Пробовал вылетает окошко авторизации пользователя!
    вот кое-что нашел в инете. дополнил код до этого:
    Код:
    
    <?  
    $url = "http://www.liveinternet.ru/member.php"; // URL на который посылаем запрос
    [B]$user_cookie_file = 'admin.txt';[/B]
    $login = ''; // логин 
    $password = ''; // пассворд
    $ch = curl_init();  
    
    
    curl_setopt($ch, CURLOPT_URL,$url); // Устанавливаем URL на который посылать запрос  
    curl_setopt($ch, CURLOPT_HEADER, 1); //  Результат будет содержать заголовки
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // Результат будет возвращём в переменную, а не выведен.
    [B]curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);    
    curl_setopt($ch, CURLOPT_COOKIEJAR,  $user_cookie_file);[/B]
    curl_setopt($ch, CURLOPT_TIMEOUT, 3); // Таймаут после 4 секунд 
    
    
    curl_setopt($ch, CURLOPT_POST, 1); // Устанавливаем метод POST
    
    curl_setopt($ch, CURLOPT_POSTFIELDS, "action=login&charset=utf&username=$login&password=$password"); // посылаемые значения
    $result = curl_exec($ch);  
    curl_close($ch);   
    
    if (strpos($result,'302 F')!== FALSE) echo "<b>Good!</b>";
    else echo "<b>Bad</b>";
    echo $result;
    ?> 
    
    $user_cookie_file = 'admin.txt';
    ----
    ----
    curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);


    Поидее как было написано, эта часть кода сохраняет куку на компе, но ничего не помогает( все по-прежнему
    При этом изменения над файлом admin.txt не происходят

    Я вот думаю, может попробовать из какого-нибудь готого скрипта вырвать код. Ща посмарю мож спамит работает с лайвинтернет или VIP
     
  8. roddik

    roddik Колбаска

    Регистр.:
    26 янв 2007
    Сообщения:
    351
    Симпатии:
    289
    попробуй поставить curlopt_followlocation в 1
     
  9. Kolombo

    Kolombo Постоялец

    Регистр.:
    5 фев 2008
    Сообщения:
    64
    Симпатии:
    4
    не помогло. Я ещё кое-где нашел инфу, типо чтобы ещё попробовать вставить информацию о браузере и с какой страницы ты переходишь на данный сайт. Не помогает!
    Код на данный момент:
    Код:
    <?  
    $user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)";
    $CURLOPT_COOKIEJAR        = 'cookie.txt';
    $CURLOPT_COOKIEFILE       = 'cookie.txt';
    $url = "http://www.liveinternet.ru/member.php"; // URL на который посылаем запрос
    $login = ''; // логин 
    $password = ''; // пассворд
    $ch = curl_init();  
    
    curl_setopt($ch, CURLOPT_URL,$url); // Устанавливаем URL на который посылать запрос  
    curl_setopt($ch, CURLOPT_HEADER, 1); //  Результат будет содержать заголовки
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // Результат будет возвращём в переменную, а не выведен.
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    curl_setopt($ch, CURLOPT_REFERER, "http://www.liveinternet.ru");
    curl_setopt($ch, CURLOPT_COOKIEJAR, $CURLOPT_COOKIEJAR);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $CURLOPT_COOKIEFILE);
    curl_setopt($ch, CURLOPT_TIMEOUT, 3); // Таймаут после 4 секунд 
    curl_setopt($ch, CURLOPT_POST, 1); // Устанавливаем метод POST
    curl_setopt($ch, CURLOPT_POSTFIELDS, "action=login&charset=utf&username=$login&password=$password"); // посылаемые значения
    $result = curl_exec($ch);  
    curl_close($ch);   
    echo $result;
    ?> 
    
     
  10. General Fizz

    General Fizz Боевой Генерал :)

    Регистр.:
    11 апр 2007
    Сообщения:
    753
    Симпатии:
    396
    Поставь аддон Фаерфокса Live HTTP Headers и посмотри, что отправляет сервер и какую куку ставит.
     
    Derag нравится это.
Статус темы:
Закрыта.