Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.06.2012, 12:51
azaznio azaznio вне форума
Прохожий
 
Регистрация: 11.06.2010
Сообщения: 12
Репутация: 10
Лампочка Авторизация, IDHTTP, Куки и непонимание.

ЗДРАВСТВУЙТЕ ДЕЛФИСТЫ .

У меня возникла проблема с авторизацией со страницы : http://www.offgamers.com/login.php?b...%2Faccount.php

Я посылаю post запрос на страницу, но в ответ приходит та же самая страница, но только в поле логин написан логин который я посылал. Возможно, проблема в куках, а именно в их сохранении. Я не понимаю как с ними совладать. Надеюсь на вашу помощь. Заранее ОГРОМНЕЙШЕЕ СПАСИБО.

Вот пример кода:
Код:
procedure AuthOnServer.Execute;
var
  s: string;
  post: tstringlist;

begin
  s := form1.HTTP.Get
    ('http://www.offgamers.com/customer_xmlhttp.php?action=login_pre_validate&email='
    + form1.EditLogin.Text);

  if pos('Proceed', s) <> 0 then
  begin
    post := tstringlist.Create;
    form1.HTTP.Get('http://www.offgamers.com/login.php?baseURL=%2Faccount.php');
    post.Add('RegionalSet[loc_country]=176');
    post.Add('RegionalSet[currency]=USD');
    post.Add('RegionalSet[language]=en');
    s := form1.HTTP.post
      ('http://www.offgamers.com/login.php?baseURL=%2Faccount.php', post);

    Delete(s, 1,
      pos('src="http://www.google.com/recaptcha/api/challenge', s) + 4);
    s := copy(s, 1, pos('"', s) - 1);
    form1.Memo1.Lines.Text := s;
    s := form1.HTTP.Get(s);
    Delete(s, 1, pos('challenge : ', s) + 12);
    s := copy(s, 1, pos(',', s) - 2);

    post.Clear;
    form1.HTTP.Request.Referer :=
      'http://www.offgamers.com/login.php?baseURL=%2Faccount.php';
    post.Add('email_address=' + form1.EditLogin.Text);
    post.Add('password=' + form1.EditPass.Text);
    post.Add('recaptcha_challenge_field=' + s);
    post.Add('recaptcha_response_field=');
    post.Add('btn_login=');

    s := form1.HTTP.post
      ('http://www.offgamers.com/login.php?action=process&baseURL=%2Faccount.php',
      post);

    if pos('You have not verified your mobile phone number.', s) <> 0 then
      showmessage('Yes');

  end
  else
  begin
    form1.at.Caption := 'Логина не существует';
  end;

end;
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:59.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025