Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2009, 17:11   #1
DemonXT
Пользователь
 
Аватар для DemonXT
 
Регистрация: 31.03.2009
Сообщений: 40
Вопрос Авторизация в админке Joomla-сайта

Не получается авторизироваться в админке сайта на движке Joomla.
В ответ на Post-запрос получаю или пустую строку, или "Invalid Token".
Вот моя функция, которой пытаюсь произвести авторизацию:
Код:
function GetJoomla(LinkPath,Login,Pass:string):Boolean;
var params,responseres:TStringList; Port:Integer; Server:string; TXTstrem:TStringStream;
Begin
  idHTTP1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
  idHTTP1.Request.AcceptLanguage:='ru,en-us;q=0.7,en;q=0.3';
  idHTTP1.Request.AcceptEncoding:='gzip,deflate';
  idHTTP1.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
  idHTTP1.HandleRedirects:=True;
  params:=TStringList.Create;
  responseres:=TStringList.Create;
  TXTstrem:=TStringStream.Create('');
  try
    idHTTP1.Get(LinkPath,TXTstrem);
    Server:=TXTstrem.DataString;
    while AnsiPos('<input type="hidden" name="',Server)>0 do
    begin
      Port:=AnsiPos('<input type="hidden" name="',Server);
      Delete(Server,1,Port+Length('<input type="hidden" name="')-1);
    end;
    Port:=Ansipos('" value="1" />',Server);
    Server:=copy(Server,0,Port-1);
    params.Add('username='+Login);
    params.Add('passwd='+Pass);
    params.Add('lang=');
    params.Add('option=com_login');
    params.Add('task=login');
    params.Add(Server+'=1');
    idHTTP1.Request.Referer:=LinkPath;
    responseres.Text:=idHTTP1.Post(LinkPath,params);
    //fmWebGrab.rePost.Text:=URLDecode(responseres.Text);
  finally
    if Pos('task=logout',responseres.Text)>0 then Result:=True else Result:=False;
    if Result then ShowMessage('Авторизовались!');
    params.Free; responseres.Free; TXTstrem.Free;
  end;
End;
К idHTTP1 привязал IdCompressorZLib и IdCookieManager1.
Уже не первый день пытаюсь пройти авторизацию и никак не получается.
DemonXT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь по Joomla Eugene811 WordPress и другие CMS 4 17.02.2010 20:31
Предварительный просмотр в админке Jensi PHP 6 12.03.2009 21:52
Требуется специалист для создания сайта со строгой аутентификацией или зашифрованного сайта. artembar Фриланс 1 01.09.2008 16:11
Joomla поиск Viteef PHP 2 11.04.2008 01:46