<?php //подключаем библиотеку include_once 'xml-rpc/lib/xmlrpc.inc'; //выставляем внутреннюю кодировку, //чтоб не было проблем с перекодированием $GLOBALS['xmlrpc_internalencoding'] = 'UTF-8'; header('Content-type:text/html;charset=utf-8');
//логин и пароль к ЖЖ $u_name = ''; $u_pass = '';
//обращаемся к www.livejournal.com/interface/xmlrpc $lj = new xmlrpc_client( '/interface/xmlrpc','www.livejournal.com',80); //кодировка клиента $lj->request_charset_encoding = 'UTF-8'; //чтоб возвращал в виде php-переменных $lj->return_type = 'phpvals'; //если нужен дебаг //$lj->setDebug(3);
//получаем chellange $chellange = $lj->send( new xmlrpcmsg('LJ.XMLRPC.getchallenge')); if($chellange->faultCode()){ die( 'Невозможно получить chellange:'. $chellange->faultString()); } $c = $chellange->value();
//собираем данные для поста $data = array(); //имя пользователя $data['username'] = new xmlrpcval($u_name,'string'); //метод аутентификации: clear, cookie или challenge $data['auth_method'] = new xmlrpcval('challenge','string'); //строка с challenge $data['auth_challenge'] = new xmlrpcval($c['challenge'],'string'); //шифруем пароль $data['auth_response'] = new xmlrpcval( md5($c['challenge'] . md5($u_pass)),'string'); //версия протокола 0 или 1 //если используется 1, то все данные должны //быть в кодировке UTF-8 $data['ver'] = new xmlrpcval('1','string'); //символ перевода строк \n или \r\n $data['lineendings']=new xmlrpcval("\n",'string'); //название поста в UTF-8 $data['subject'] = new xmlrpcval( mb_convert_encoding('Тестовый постинг в жж' , 'UTF-8','UTF-8'),'string'); //текст поста в UTF-8 $data['event'] = new xmlrpcval( mb_convert_encoding( 'Это первый тестовый пост в жж с помощью xml 0_o , тру ля-ля','UTF-8','UTF-8'),'string'); //дата $data['day'] = new xmlrpcval(date('d'),'string'); $data['mon'] = new xmlrpcval(date('m'),'string'); $data['year'] = new xmlrpcval(date('Y'),'string'); $data['hour'] = new xmlrpcval(date('H'),'string'); $data['min'] = new xmlrpcval(date('i'),'string'); //доступ к посту публичный $data['security'] = new xmlrpcval('public','string'); //некоторые мета-данные $data['props'] = new xmlrpcval(array( //true, если пост в отформатирован в html 'opt_preformatted' => new xmlrpcval(true,'boolean'), //true, если запись добавляем задним числом 'opt_backdated' => new xmlrpcval(true,'boolean'), //список тегов через запятую в UTF-8 'taglist' => new xmlrpcval( mb_convert_encoding('постинг,библиотеки,xml', 'UTF-8','UTF-8'),'string'), ),'struct'); $d = new xmlrpcval($data,'struct'); //вызываем процедуру LJ.XMLRPC.postevent $result = $lj->send(new xmlrpcmsg( 'LJ.XMLRPC.postevent', array($d)),0,'http11'); //если произошла ошибка, то сообщаем об ошибке if($result->faultCode()){ die('Ошибка постинга:'.$result->faultString()); } //если все нормально, то сервер вернет //структуру с 3-мя переменными: //itemid - идентификатор поста //url - URL-адрес поста //anum - аутентификационный номер, //созданный для этой записи $p_data = $result->value(); echo 'Пост успешно добавлен. Прочитать его можно'. ' <a href="'.$p_data['url']. '" target="_blank">здесь</a><br />'; echo $p_data['anum']."<br />"; echo $p_data['itemid']."<br />"; ?>
Дима_Быдло: Не, это шаг в пропасть сисадминского задротства
Как-то все мрачно :) мне реально эта ось нравится намного больше всяких windows. Да и задротсвом я особо не склонен страдать :) для работы - самое оно.
Не забудь убрать потом.А то с утра будет много тем на серче).
смысл то убирать ?
кто не успел == 10 разз
жалко, что тс не принимает заказы больше... я бы подкинул пару-тройку сайтов на прокачку
Это и не удивительно..... набрал на стартап.... теперь гонит тиц СВОИМ сайтам :)
Кто это напарсил 80кк и забыл проверить их на дубли 0_o ..... просто интересно :)
можно даже на клей не проверять, ТИЦ130 за 130 баксов не продают)
+ЯК ..... со 130$ даже старт бы не стали делать :)
Это просто постер, но таки да- несколько правильных кликов и будет авто.
Боюсь я уже не различаю таких тонких граней , для меня это уже автопостер. Для кого-то это и правду станет неразрешимой проблемой ...... не подумал .
Все хотели домен с 3400 ыц за 4000 :)
Можно было и не проверять :)
автопостер бы еще увидеть.
Мда.....
Рабочий тут .... даже два.
скачать библиотеку тут
//подключаем библиотеку
include_once 'xml-rpc/lib/xmlrpc.inc';
//выставляем внутреннюю кодировку,
//чтоб не было проблем с перекодированием
$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8';
header('Content-type:text/html;charset=utf-8');
//логин и пароль к ЖЖ
$u_name = '';
$u_pass = '';
//обращаемся к www.livejournal.com/interface/xmlrpc
$lj = new xmlrpc_client(
'/interface/xmlrpc','www.livejournal.com',80);
//кодировка клиента
$lj->request_charset_encoding = 'UTF-8';
//чтоб возвращал в виде php-переменных
$lj->return_type = 'phpvals';
//если нужен дебаг
//$lj->setDebug(3);
//получаем chellange
$chellange = $lj->send(
new xmlrpcmsg('LJ.XMLRPC.getchallenge'));
if($chellange->faultCode()){
die(
'Невозможно получить chellange:'.
$chellange->faultString());
}
$c = $chellange->value();
//собираем данные для поста
$data = array();
//имя пользователя
$data['username'] = new xmlrpcval($u_name,'string');
//метод аутентификации: clear, cookie или challenge
$data['auth_method'] = new xmlrpcval('challenge','string');
//строка с challenge
$data['auth_challenge'] = new xmlrpcval($c['challenge'],'string');
//шифруем пароль
$data['auth_response'] = new xmlrpcval(
md5($c['challenge'] . md5($u_pass)),'string');
//версия протокола 0 или 1
//если используется 1, то все данные должны
//быть в кодировке UTF-8
$data['ver'] = new xmlrpcval('1','string');
//символ перевода строк \n или \r\n
$data['lineendings']=new xmlrpcval("\n",'string');
//название поста в UTF-8
$data['subject'] = new xmlrpcval(
mb_convert_encoding('Тестовый постинг в жж' ,
'UTF-8','UTF-8'),'string');
//текст поста в UTF-8
$data['event'] = new xmlrpcval(
mb_convert_encoding(
'Это первый тестовый пост в жж с помощью xml 0_o , тру ля-ля','UTF-8','UTF-8'),'string');
//дата
$data['day'] = new xmlrpcval(date('d'),'string');
$data['mon'] = new xmlrpcval(date('m'),'string');
$data['year'] = new xmlrpcval(date('Y'),'string');
$data['hour'] = new xmlrpcval(date('H'),'string');
$data['min'] = new xmlrpcval(date('i'),'string');
//доступ к посту публичный
$data['security'] = new xmlrpcval('public','string');
//некоторые мета-данные
$data['props'] = new xmlrpcval(array(
//true, если пост в отформатирован в html
'opt_preformatted' => new xmlrpcval(true,'boolean'),
//true, если запись добавляем задним числом
'opt_backdated' => new xmlrpcval(true,'boolean'),
//список тегов через запятую в UTF-8
'taglist' => new xmlrpcval(
mb_convert_encoding('постинг,библиотеки,xml',
'UTF-8','UTF-8'),'string'),
),'struct');
$d = new xmlrpcval($data,'struct');
//вызываем процедуру LJ.XMLRPC.postevent
$result = $lj->send(new xmlrpcmsg(
'LJ.XMLRPC.postevent', array($d)),0,'http11');
//если произошла ошибка, то сообщаем об ошибке
if($result->faultCode()){
die('Ошибка постинга:'.$result->faultString());
}
//если все нормально, то сервер вернет
//структуру с 3-мя переменными:
//itemid - идентификатор поста
//url - URL-адрес поста
//anum - аутентификационный номер,
//созданный для этой записи
$p_data = $result->value();
echo 'Пост успешно добавлен. Прочитать его можно'.
' <a href="'.$p_data['url'].
'" target="_blank">здесь</a><br />';
echo $p_data['anum']."<br />";
echo $p_data['itemid']."<br />";
?>
пример постинга
p/s Журнал должен быть активирован по мылу.
наслаждаемся Вебмастера "Рамилькин" ВЫ ГДЕ ?Вас ищет заказчик,или верните деньги
Не, это шаг в пропасть сисадминского задротства
Как-то все мрачно :) мне реально эта ось нравится намного больше всяких windows. Да и задротсвом я особо не склонен страдать :) для работы - самое оно.