Гараж Delphi




Алгоритмы и функции для эффективной разработки приложений в среде программирования Delphi

Подключаем cookies для XML-RPC

01.04.2010 от semen

Для работы с XML-RPC в дельфи написан отличный модуль, о котором я уже упоминал - XML-RPC в Delphi. Для работы с одним известным сервисом, предоставляющем API на XML-RPC, требуется авторизация и хранение Cookies для последующей работы. В принципе, cookies могут пригодится и для других целей в xml-rpc, покажу как я их подключил.

1. Добавил новое свойство в класс TRpcCaller:

    FSessionCookies : string; // cookies :)

Сделал возможность его читать и изменять:

    property SessionCookies : string read FSessionCookies write FSessionCookies;

Задаём cookies в функции

   function TRpcCaller.Post(const RawData: string): string;

Непосредственно перед отправкой post запроса:

      FSession.AllowCookies := true;
      if FSessionCookies <> '' then
        begin
          CM := TidCookieManager.Create(FSession);
          CC := TIdCookies.Create(CM);
          Cookie := TIdCookieRFC2109.Create(CC);
          Cookie.CookieText :=  FSessionCookies;
          CM.CookieCollection.AddCookie(cookie);
       end;

После выполнения запроса не забываем сохранить новые cookies, если он нам нужны:

  FSessionCookies := FSession.CookieManager.CookieCollection.Items[0].CookieText

См. также:
Как определить IP-адреса компьютера из Delphi?
Удаление всех файлов из указанной папки через Delphi
Алгоритм MD5 в Delphi

Рубрики: Модули, Общее

Оставьте комментарий

Заметьте: комментарии проверяются автором сайта. Нет смысла отправлять комментарий два раза.