Пример использования REST на «боевом» API

    С появлением термина Web 2.0 стали популярны веб-сервисы, предоставляющие некоторые функции по обмену информацией между разными сайтами и серверами. Появилась возможность размещать данные сразу в нескольких источниках, считывать их и, возможно, опять пересылать.

    В связи с этим, я думаю, у всех на слуху такие технологии, как XML-RPC, SOAP и, наверное, REST? Нет? Не слышали про REST (Representational State Transfer)? Чтобы в голове немного прояснилось, про саму технологию можно прочитать статью «REST как альтернатива SOAP» или посмотреть ролик о реализации взаимодействия на Ruby.

    Приведу небольшой, но очень показательный пример взаимодействия с del.icio.us на PHP.

    Объектом эксперимента станет горячо любимый del.icio.us, а целью определим получение наших закладок по какому-нибудь тагу для размещения на своем сайте. Сразу предупрежу, что для работы примера необходим openssl, потому что работа ведется по защищенному https. В денвере это делается раскомментированием одной строки в php.ini и копированием php_openssl.dll в папку ext.

    Все мы знаем, что в PHP5 внедрено расширение SimpleXML, которое мы с легкостью можем использовать в примере для парсинга ответа от сервера.

    $u = 'username';
    $p = 'password';
    $uri = "https://{$u}:{$p}@api.del.icio.us/v1/posts/all?tag=php";
    $bookmarks = new SimpleXMLElement($uri, NULL, true);
    foreach ($bookmarks->post as $bookmark)
    {
    echo '';
    echo htmlentities($bookmark['description']);
    echo "
    \n";
    }


    Пояснять каждую строку не имеет смысла, потому что они давно знакомы любому программисту PHP.

    Удачного использования!
    Поделиться публикацией

    Похожие публикации

    Комментарии 7

    • НЛО прилетело и опубликовало эту надпись здесь
        0
        Да, то, что на Ruby с REST все хорошо, я знаю :)
        Ruby вообще забавная штучка :)
        • НЛО прилетело и опубликовало эту надпись здесь
            0
            Не против если я ссылку внесу в пост?
            • НЛО прилетело и опубликовало эту надпись здесь
        0
        Впервые слышу о REST, для тех кто хочет узнать поподробнее советую небольшую статью
        REST как альтернатива SOAP
        Большое спасибо за пример!
          0
          Ссылка не добавилась, а wiki не работает, чтобы посмотреть..
          Добавляю хотя бы так:
          http://ror.ru/blogs/REST_%D0%BA%D0%B0%D0%BA_%D0%B0%D0%BB%D1%8C%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%82%D0%B8%D0%B2%D0%B0_SOAP/

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое