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

Тема в разделе "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
    http://www.charnad.com/wp-poster/
    http://www.codeart.ru/2008/04/27/wordpress-publikaciya-s-pomoshhyu-xml-rpc/
    http://habrahabr.ru/blogs/wordpress/46555/
    http://www.simplecoding.org/publicatsija-v-wordpress-c-xml-rpc-i-codeigniter.html
    http://humbert.ru/2009/03/27/postim-udalenno-v-wordpress/
    http://centavrus-opti.ru/php-skript-postinga-v-wordpress.html
    Кто может подсказать как сделать или поделится своими наработками или хотя бы сказать на чем реализовать? Т.К.Все посты по теме старые. Хотелось бы постить в новый вордпресс 2.9 или 3
    Хочу постить из базы(со статьями) в wordpress блоги
     
  8. pablobablo

    pablobablo Писатель

    Регистр.:
    14 авг 2009
    Сообщения:
    9
    Симпатии:
    1
    Я в своем проекте использовал wp-poster. Работает хорошо.
     
    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 так и не получилось настроить до рабочего состояния если кто может написать небольшой мануал или пару советов по нему буду очень благодарен.
     
Статус темы:
Закрыта.