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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2010, 19:24   #11
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Не проверял, но если продолжить работу с IdHTTP до его Free, то должно работать нормально...
W0LF вне форума Ответить с цитированием
Старый 08.06.2010, 19:46   #12
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

Сейчас еще раз попробую что-нибудь из тех вариантов.
отпишусь
fezilk24 вне форума Ответить с цитированием
Старый 08.06.2010, 20:14   #13
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var data:tstringlist;
      PageProfile:string;
      error:boolean;
begin
 IdHTTP1.AllowCookies:=true;
 IdHTTP1.HandleRedirects:=false;
 data:=tstringlist.create;
 data.Add('email=mylogin'); // логин для авторизации
 data.Add('pass=mypass');  // пароль для авторизации
 data.Add('expire=');
 data.Add('vk=');
 error:=false;
 try
  PageProfile:=IdHTTP1.Post('http://login.vk.com/?act=login', data);
 except
  error:=true;
 end;

 if not(error) then
  begin
   data.Clear;
   data.Add('s='+Copy(PageProfile, Pos('value', PageProfile)+7, 56));
   data.Add('op=slogin');
   data.Add('redirect=1');
   data.Add('expire=0');
   data.Add('to=');
   IdHTTP1.HandleRedirects:=true;
   try
    PageProfile:=IdHTTP1.Post('http://vkontakte.ru/login.php', data);
   except
   end;
   Memo1.Lines.Add('Авторизация удалась');
   Memo1.Lines.Add(idhttp1.Get('http://vkontakte.ru')) ;
  end
 else
  Memo1.Lines.Add('Авторизация не удалась');

 Data.Free;
end;
Первый способ. В сниффере:
- 00:21:36.046 Project1.exe[2736] (Count=4, Sent=1,18 K, Received=25,72 K, ElapsedTime=5,580 s)
POST 200 1,30 K text/html http://login.vk.com/?act=login
POST 302 607 text/html http://vkontakte.ru/login.php /nick
POST 200 9,09 K text/html http://vkontakte.ru/nick
GET 200 14,73 K text/html http://vkontakte.ru/

Видно, что авторизация срабатывает, но при Гет запросе выкидывает на главную. IdCookieManager1 подключен, редиректы и куки включены.
fezilk24 вне форума Ответить с цитированием
Старый 08.06.2010, 20:14   #14
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

[[удалено]]

Последний раз редактировалось fezilk24; 08.06.2010 в 20:17. Причина: продублировалось
fezilk24 вне форума Ответить с цитированием
Старый 08.06.2010, 23:39   #15
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

актуально!

попробовал третий способ - не работает вообще.
fezilk24 вне форума Ответить с цитированием
Старый 09.06.2010, 12:49   #16
Pasha_Sh
Форумчанин
 
Аватар для Pasha_Sh
 
Регистрация: 16.05.2010
Сообщений: 137
По умолчанию

Стучи в асю, помогу с авторизацией
osu
Pasha_Sh вне форума Ответить с цитированием
Старый 09.06.2010, 14:21   #17
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Авторизация вконтакте
Код:
uses StrUtils;

procedure TForm1.Button1Click(Sender: TObject);
var
  sl : TStringList;
  s, email, pass, text : string;
begin
  email := 'user@tut.by';
  pass := 'qwerty';
  sl := TStringList.Create;
  sl.Add('email=' + email + '&pass=' + pass + '&expire=&vk=');
  text := IdHTTP1.Post('http://login.vk.com/?act=login',sl);
  s := Copy(text,Pos('name=' + #39 + 's' + #39,text)+16,PosEx(#39,text,Pos('name=' + #39 + 's' + #39,text)+17)-Pos('name=' + #39 + 's' + #39,text)-16);
  IdHTTP1.Request.CustomHeaders.Add('Cookie:remixchk=5; remixsid=' + s);
  
  // Проверка
  IdHTTP1.Get('http://vkontakte.ru/mail.php');
  IdHTTP1.Get('http://vkontakte.ru/groups.php');
end;
kangreon вне форума Ответить с цитированием
Старый 09.06.2010, 16:14   #18
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

kangreon, не представляешь, как я рад!!

Спасибо тебе огромное! всё работает!


PS. Ув. Модеры, просьба не закрывать тему, т.к. вопросы еще появятся
fezilk24 вне форума Ответить с цитированием
Старый 09.06.2010, 18:31   #19
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

Вот и вопрос:

при http1.get('http://vkontakte.ru/profile.php');
вылетает ошибка 404,
при
http1.get('http://vkontakte.ru');
на страницу авторизации кидает

mail.php грузится нормально.
fezilk24 вне форума Ответить с цитированием
Старый 09.06.2010, 18:54   #20
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

vkconnect.zip

пример логина и работы с TWebBrowser, может чем поможет
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправить сообщение вконтакт mish@ Работа с сетью в Delphi 13 16.05.2010 18:29
Не могу войти вконтакт. Евгений_22 Помощь студентам 7 04.03.2010 23:39
MDIChild снова и снова... Siber_Dec Общие вопросы Delphi 2 13.12.2009 03:24
Снова эпидемия vasek123 Свободное общение 56 03.12.2009 15:35