Скрипт постинга в блог

Тема в разделе "PHP", создана пользователем Alekss, 9 фев 2009.

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

    Alekss Создатель

    Регистр.:
    5 май 2008
    Сообщения:
    11
    Симпатии:
    1
    Нужен скрипт на php для постинга в blog.ru.
    Пытался самостоятельно сделать на основе клиента для WP ixr_client(на сайте написано, что поддерживается Wordpress API для постинга), но у меня постоянно выдается ошибка "п»ї109:XML error: Invalid character at line 9". Вот код, который я использую
    Код:
    require ('./classes/ixr_client.php'); 
    //создаем экземпляр объекта
    $client = new IXR_Client('http://blog.ru/interface/');
    // массив параметров поста
    $content_struct['title'] = 'название';
    $content_struct['description'] = 'описание, до ссылки _читать далее_';
    $content_struct['mt_text_more'] ='содержание будет доступно после ссылки _читать далее_';
    $result = $client->query("metaWeblog.newPost", '0', 'login', 'pass', $content_struct, '1');
    if ($result) {
    $responce = 'OK';
    } else {
    $responce = implode(':',$client->getResponse());
    }
    echo $responce;
    
    
    Подскажите, в чем моя ошибка или посоветуйте другое решение.
     
  2. Yaggi Jah

    Yaggi Jah Постоялец

    Регистр.:
    15 ноя 2006
    Сообщения:
    75
    Симпатии:
    31
    По видимому какие-то проблемы с кодировкой у тебя или со слэшами.
    Попробуй
    $content_struct['title'] = addslashes ('название');
    $content_struct['description'] = addslashes ('описание, до ссылки _читать далее_');
    $content_struct['mt_text_more'] =addslashes ('содержание будет доступно после ссылки _читать далее_');
     
    Alekss нравится это.
  3. Alekss

    Alekss Создатель

    Регистр.:
    5 май 2008
    Сообщения:
    11
    Симпатии:
    1
    С ошибками разобрался. Их оказалось две
    Первая - вся кирилица должна быть в utf8 кодировке. Это просто.
    А вот вторая оказалась сложнее. В строке
    $result = $client->query("metaWeblog.newPost", '0', 'login', 'pass', $content_struct, '1');
    вместо '0' должен стоять id блога. А его определить у меня не получается. id появляется только на странице добавления новости, а вызвать эту страницу с помощью курла не получается, т.к. там куки прописываются с помощью javascript.
    Может кто подсказать как определить id блога?
     
  4. Ceyce

    Ceyce Постоялец

    Регистр.:
    3 ноя 2008
    Сообщения:
    52
    Симпатии:
    51
    А можно ссылку на какой то из этих блогов?

    А то blog.ru не открывается.
     
  5. Yfo

    Yfo Создатель

    Регистр.:
    30 окт 2007
    Сообщения:
    43
    Симпатии:
    4
    Список блогов можно получать через API функцию blogger.getUsersBlogs. В ответе сервера должны быть указаны id всех блогов.

    Для отладки подобного рода вещей очень удобно использовать десктопные блоггер-клиенты, например тот же BlogJet. Отслеживая его запросы и ответы сервера легче разобраться что и как работает в данном конкретном случае.
     
    Alekss нравится это.
  6. asterpool

    asterpool Создатель

    Регистр.:
    24 июн 2008
    Сообщения:
    30
    Симпатии:
    1
    ну можно еще использовать плагин к фаерфоксу, который все общение с сервером (запросы\ответы) тоже показывает.
     
  7. 8LADIMIR

    8LADIMIR Писатель

    Регистр.:
    11 авг 2008
    Сообщения:
    7
    Симпатии:
    1
    Делаю скрипт на php для постинга в wordpress

    Делаю скрипт на php для постинга в wordpress блоги (посты, категории, теги метки)
    Пытался самостоятельно - Неработает.
    Нашел ссылки по постингу в Wordpress:
    http://www.nulled.ws/showthread.php?t=102545&highlight=ixr_client.php
    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке
    Кто может подсказать как сделать или поделится своими наработками или хотя бы сказать на чем реализовать? Т.К.Все посты по теме старые. Хотелось бы постить в новый вордпресс 2.9 или 3
    Хочу постить из базы(со статьями) в wordpress блоги
     
  8. pablobablo

    pablobablo Писатель

    Регистр.:
    14 авг 2009
    Сообщения:
    9
    Симпатии:
    1
    8LADIMIR нравится это.
  9. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    Если нехочет постить проверяй кодировку. Я сам мучался с ней. Юзаю тоже ixr_client
    PHP:
    include ("ixr_client.php");
    new_post("site.ru","login","pass","title","","text");

    function 
    new_post($domain,$login,$pass,$title,$category,$content){
    $client = new IXR_Client("http://".$domain.'/xmlrpc.php');
    $content_struct['title'] = $title;
    $content_struct['description'] = $content;
    $content_struct['categories'] = array($category);
    $response=$client->query("metaWeblog.newPost"'0'$login$pass$content_struct'1');
    if (!(
    $response)){
       Return 
    False;
       die(
    'xml - '.$client->xml.',Ошибка - '.$client->getErrorCode().' : '.$client->getErrorMessage());
    }else{
       Return 
    True;
    }
    Как-то так. ixr_client качай по ссылке из прошлого поста
     
    8LADIMIR нравится это.
  10. 8LADIMIR

    8LADIMIR Писатель

    Регистр.:
    11 авг 2008
    Сообщения:
    7
    Симпатии:
    1
    Постинг в блог - в уже созданную категорию Реализовал

    Постинг в блог - в уже созданную категорию Реализовал
    Реализовал первым способом
    http://www.web-junior.net/xml-rpc-posting-v-wordpress/
    И этим способом
    http://www.nulled.ws/showpost.php?p=536422&postcount=15

    Теперь стоит задача: Cоздать категорию если ее еще нет в блоге. Помогите в реализации? :nezn:

    PS : Класс WP-poster так и не получилось настроить до рабочего состояния если кто может написать небольшой мануал или пару советов по нему буду очень благодарен.
     
Статус темы:
Закрыта.