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

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

Kolombo

Постоялец
Регистрация
5 Фев 2008
Сообщения
64
Реакции
5
В общем хотелысь написать скрипт.
Суть его заключается в том, что при создании основной новости на сайте (любом) подобная новость создается на liveinternet.ru
Для этого нужно знать каким образом происходит постинг новостей на лайвинтернет. МОжет быть уже есть готовые скрипты или похожие или хотя бы хоть какая-то информация, а то пока сам не могу разобраться.
Заранее спасибо за любую информацию по данному вопросу.
Вообще я думаю что-то надо сделать по такой системе. Скрипт входит на сайт под определенным логином и паролем -> Отсылает все данные для постинга (для этого необходимо знать какие переменные используются и т.д.)
В общем пока никак не получается ничего( Жалко нет такой же системы как на блоггере(
 
Читай про cURL, переменные можно взять из исходного кода страницы или перехватывая запросы.
Поидее скрипт пишется за 10-15 минут...
 
а конкретно чтобы посоветовали? я в яндексе только нашел описания основных функций. хотелось бы что-то в виде примеров, чтобы разобраться как это все работает)
 
Вот ввожу код
Код:
<?  
$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.

Подробная инструкция по настройке. 

Нажмите, если надоело ждать
(или браузер не хочет выполнять автоматическую переадресацию)
 
Попробуй не закрывая сессию выполнить запрос на добавление новости, если не получится - будем думать
 
Пробовал вылетает окошко авторизации пользователя!
вот кое-что нашел в инете. дополнил код до этого:
Код:
<?  
$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
 
попробуй поставить curlopt_followlocation в 1
 
не помогло. Я ещё кое-где нашел инфу, типо чтобы ещё попробовать вставить информацию о браузере и с какой страницы ты переходишь на данный сайт. Не помогает!
Код на данный момент:
Код:
<?  
$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;
?>
 
Поставь аддон Фаерфокса Live HTTP Headers и посмотри, что отправляет сервер и какую куку ставит.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху