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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2011, 20:26   #1
DKENT
Форумчанин
 
Регистрация: 09.09.2010
Сообщений: 114
Сообщение Не проходит авторизация Вконтакте

Здраствуйте!!!
Хочу авторизоваться на сайте Вконтакте посредством GET запроса!

Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var PageProfile:string;
begin
IdHTTP1.AllowCookies:=true;
IdHTTP1.HandleRedirects:=true;
try
PageProfile:=IdHTTP1.Get('http://vkontakte.ru/login.php?email='+Edit1.Text+'&pass ='+Edit2.Text);
except
end;
if Pos('logout', PageProfile)<>0 then
Memo1.Lines.Add('Автоизовались')
else
Memo1.Lines.Add('Не авторизовались');
end;
Но почемуто данный метод неработает!
Прошу помощи)))
Стоит Indi 10
DKENT вне форума Ответить с цитированием
Старый 14.02.2011, 21:04   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вы уверены что все так просто?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.02.2011, 21:52   #3
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Indy не хочет принемать некоторые куки.
Посмотреть примеры авторизации можно тут:
http://kdcodes.blogspot.com/2011/02/delphi.html

ну или просто вручную записывать куки.
Код:
var
  s, c, remixchk, remixsid: string;
  i: Integer;
  http: TIdHTTP;
begin
  http := TIdHTTP.Create;
  // Москировка под оперу :)
  http.AllowCookies := False;
  http.HandleRedirects := False;
  http.Request.UserAgent :=
    'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.01';
  // Отлавливаем редирект. ВАЖНО!!! Иначе не установятся куки
  try
    // Отправляем Логин и Пароль
    s := http.Get('http://vkontakte.ru/login.php?m=1&email=' + Edit1.Text +
      '&pass=' + Edit2.Text);
  except
    // Если редирект - Редиректим
    if http.ResponseCode = 302 then
    begin
      c := http.Response.RawHeaders.Text;
      i := PosEx('remixchk', c) + 9;
      remixchk := Copy(c, i, PosEx(';', c, i)-i);
      i := PosEx('remixsid', c) + 9;
      remixsid := Copy(c, i, PosEx(';', c, i)-i);
      http.Request.CustomHeaders.Text := 'Cookie: remixchk=' + remixchk +
        '; remixsid=' + remixsid;
      s := http.Get('http://vkontakte.ru' + http.Response.Location);
    end
    else
    begin
      ShowMessage('Ошибка авторизации');
    end;
  end;
  // Авторизация пройдена
 
  // Для проверки загрузим последние Личные Сообщения
  s := http.Get('http://vkontakte.ru/mail.php');
  i := 1;
  while PosEx('new messageBody', s, i) <> 0 do
  begin
    i := PosEx('new messageBody', s, i) + 17;
    ListBox1.Items.Add(Copy(s, i, PosEx('"', s, i) - i));
  end;
  http.Free;
kangreon вне форума Ответить с цитированием
Старый 14.02.2011, 22:05   #4
DKENT
Форумчанин
 
Регистрация: 09.09.2010
Сообщений: 114
По умолчанию

kangreon
Выдает ошибку


Я так понял ругаеться на редирект!!!
Возможно нужно включить HandleRedirects := True ?

// Для проверки загрузим последние Личные Сообщения
Цитата:
s := http.Get('http://vkontakte.ru/mail.php');
i := 1;
while PosEx('new messageBody', s, i) <> 0 do
begin
i := PosEx('new messageBody', s, i) + 17;
ListBox1.Items.Add(Copy(s, i, PosEx('"', s, i) - i));
end;
Не работает данная функция!!!!

Последний раз редактировалось DKENT; 15.02.2011 в 01:28.
DKENT вне форума Ответить с цитированием
Старый 15.02.2011, 01:28   #5
DKENT
Форумчанин
 
Регистрация: 09.09.2010
Сообщений: 114
По умолчанию

Народ так что кто нибудь поможет???
DKENT вне форума Ответить с цитированием
Старый 15.02.2011, 01:48   #6
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Цитата:
Не работает данная функция!!!!
Да ну?

Вот проект с выше написанным кодом + скомпилированный файл.

PS HandleRedirects в данном случае включать не надо. тк единственный редирект обрабатывается вручную.

Цитата:
Process stopped. Use Step or Run to continue.

Процесс остановился. Используйте Шаг или Запустить, чтобы продолжить.
Вложения
Тип файла: rar vk.rar (571.8 Кб, 19 просмотров)

Последний раз редактировалось kangreon; 15.02.2011 в 01:53.
kangreon вне форума Ответить с цитированием
Старый 15.02.2011, 01:52   #7
DKENT
Форумчанин
 
Регистрация: 09.09.2010
Сообщений: 114
По умолчанию

Цитата:
Сообщение от kangreon Посмотреть сообщение
Да ну?

Вот проект с выше написанным кодом + скомпилированный файл.

PS HandleRedirects в данном случае включать не надо. тк единственный редирект обрабатывается вручную.
Вот что выдает если он невключен!!!


Но если запускаю отделно exe файл то работает!!!!
В чом же может быть проблема?

Последний раз редактировалось DKENT; 15.02.2011 в 01:59.
DKENT вне форума Ответить с цитированием
Старый 15.02.2011, 04:12   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
В чом же может быть проблема?
в том что вы даже не знаете настроек того в чем работаете.
Делфи под отладкой по умолчанию всегда показывает исключения.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.02.2011, 06:22   #9
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

DKENT наткнулся на новость по твоей теме "ВКонтакте" закрыла свободную регистрацию.
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 15.02.2011, 06:25   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вообще то не по теме оно.
благо новость к авторизации отношения не имеет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вконтакте авторизация KoBRaAndrey Работа с сетью в Delphi 3 27.08.2010 19:34
Авторизация ВКонтакте KWN, lnc Работа с сетью в Delphi 10 16.08.2010 18:31
Авторизация вконтакте Андрей.12 Работа с сетью в Delphi 5 05.08.2010 19:18
Авторизация вконтакте larin1974 Общие вопросы Delphi 1 24.10.2009 20:36
Не проходит авторизация KREGI Работа с сетью в Delphi 4 24.08.2009 22:15